Remove base class ITask from MeshItemWiseTask.
Move tpp code inside of header.

This is against the law but simplifies code greatly.
Unify names in MatrixAssembler and VectorAssembler.

This is done for further refactoring and is not changing anything but names.
This is also correcting constructor for VectorAssembler.
Add square dense matrix constructor reusing existing one.

This simplifies matrix construction in many places because in many cases we need just a bilinear form.
Add GlobalDenseMatrix::addSubMatrix for same columns as row positions.
Replace all addSubVector(), addValue() functions with add.

This helps with generalization when using essentially same concept of addition.
Use add() instead of addSubVector/addSubMatrix.

Avoid repeating of same positions.
Replace Matrix and VectorAssembler with GlobalAssembler class.

The only difference between MatrixAssembler and VectorAssembler was their names.
Uncrustify.
Move single function from LinearSystemAssembler.tpp inline.
Make MeshItemType::type enum to an MeshItemType enum class.

This improves type safety. Also add an operator<<().
Add operator<<() for Location.
Extract common part of DataArrangement tests into a fixture.

Also remove created objects cleanly. Remove all memory leaks from this test.