Uncrustify.
Extract common part of DataArrangement tests into a fixture.

Also remove created objects cleanly. Remove all memory leaks from this test.
In VecMatOnMeshLib/TestSerial* initialize global matrix with zeros.
In VecMatOnMeshLib/TestSerial* remove memory leak.

vec_comp_dis was not released.
Add LocalToGlobalIndexMap packing indices for rows or columns.
Rewrite global assemblers for using of LocalToGlobalIndexMap.
Generalize 2d diffusion to arbitrary mesh size.
Remove unused #includes.
Remove IVecMatOnMesh--no dynamic polymorphism.
Rename SerialVecMatOnMesh to SerialVectorMatrixBuilder.
Make SerialVectorMatrixBuilder a template over matrix/vector types.

Also define types using Dense, CRS, and Lis linear algebra objects.
Add finalizeMatrixAssembly call in TestSerialLinearSolver.
Rename mesh_item_comp_ID and comp_ID.

New names are ByLocationAndComponent and ByComponent.
In SerialLinearSolver test rewrite outer loop in ele -> node build.
Replace OrderingType type by enum class ComponentOrder.

This enum is used only in MeshComponentMap.h---no extra file needed.
Split getDataIDList() for vectors into two templated specializations.

Each of the new functions is more efficient than the previous implementation.
Name assembler types correctly in SerialLinearSolver test.

There is one LocalAssembler and one GlobalAssembler.
Optimize element nodes to vector entries map creation.
Make ForEachMeshItem a function.

There is no need for a functor at globla scope. The new function is inside the
SerialVectorMatrixBuilder class.
Merge branch 'MeshSubsets' into add-DiscreteLib3d