First part of restructuring of the matrix/vector assembly.
This adds a class
Assembler that is responsible for global assembly of the system matrix, rhs and constraints. The previously present assembler classes are renamed to make their local behaviour clearer.
The changes were made in such a way that the local contributions to the system matrix/vector can be modified easily once the constraints support that.