Checking node ordering for elements

This adds methods to test if the node ordering of elements is correct. The implementation tests the following:
* 1D Elements: always true
* 2D Elements: is difference in direction between the surface normal of the element < 90° to the up-vector [0,0,1] (i.e. is the element facing upwards)
* 3D Elements: are the normals of all faces pointing "away" from the centre of gravity of the element

I also added a method to actually calculate the centre of gravity, updated the surface normal calculation to use Tom's ```Vector3``` class and adjusted all locations where this is used accordingly (e.g. surface extraction).

Note that this method might give wrong results for 3D elements if something else is wrong with the element (non-planar faces, non-convex geometry, possibly zero volume) which causes the calculated center of gravity to lie outside of the actual element.