ElementFactory constructor signature requires ModelType

ElementFactory constructor signature requires ModelType parameter.
This allows each method of ElementFactory to check that the type of
element it will create will be valid for the model in which it is
creating it.
This is a breaking change to many tests, which have been updated as part
of this commit.
Refactor of Linear3DBeamStiffnessMatrixBuilder to avoid division

Refactor of Linear3DBeamStiffnessMatrixBuilder to avoid division.