[spaces.constraints] refactor, refs #51
[spaces.constraints] refactor, refs #51

* rename Constraints::Dirichlet -> DirichletConstraints
  This is for @renemilk, only top level namespaces (below module) from now
  on...
* DirichletConstraints is now just a container of dirichlet DoFs. On apply
  it calls clear_row or unit_row on the matrix. Each backend is supposed to
  implement this efficiently.

The new constraints are used like this:

    Spaces::DirichletConstraints< IntersectionType >
         dirichlet_constraints(boundary_info, space.mapper().size());
    // create system assembler, add matrix and rhs assembly
    // ...
    assembler.add(dirichlet_constraints);
    assembler.assemble();
    // apply dirichlet correction on rhs if needed (for nonzero boundary
    // values) ...
    dirichlet_constraints.apply(matrix, rhs);

BarbaraV/dune-gdt,ftalbrecht/dune-gdt