Rename LocalFeQuad4AssemblyItem.

The new name is LocalGWAssemblerData.

Make it as struct as well removes public keywords.
[BL] Add constexpr pow(x, y) function.
Add integration order template to LocalAsmData.
Generalize length of shape matrices array.

This is compile time computation.
Add typedef to LocalAssemblerData.
Use LocalAssemblerData type in ShapeMatricesInitializer.

This removes element shape type dependency.
Use constexpr integration points number in for loop.

This allows loop unrolling.
Add ShapeMatrixType defining types.

The matrix types are dependent on given element's dimension and number of nodal
functions.

The particular version is for fixed size eigen matrices called
EigenFixedSizeShapeMatrices.
Comment not working dynamic size eigen matrices.
In X struct use shape matrix types from template.
Rename template names to distinguish from shape matrix policy.
Pass ShapeMatrixTypePolicy to FE type.
2. Pass ShapeMatrixTypePolicy to FE type.
[NL] Remove not anymore required matrix types from FEM element.
Remove no longer required matrix types from FEM element.
Use ShapeType in ShapeMatrixTypePolicy instead of dimensions.
Write ShapeMatrixTypePolicy as a template template parameter.

This avoids a repetition at definition of LocalAssemblerData<> type
of the ShapeType = ShapeQuad4.
Remove ununsed DIM constant from LocalAsmData.
Rename ElemType to correct ShapeType in LocalAsmData.
Remove unused types from LocalGWAssembler and LAData.