Make OptionalValue comparable
Use typedef in MeshElement
Add MeshRepresentation and OsgMeshRepresentation

also add class to generate normals on demand
Add unit test for mesh
cpplint fixes
Refactor mesh construction and updates to produce functions and use member variables
Add rigid transform creation utility function
Remove Lighting from UnitAxes

This will make the unit axes unlit in all cases
Fix Updating un the OsgMeshRepresentation

tell osg that nodes are being updated
Refactor test to dynamically move the mesh vertices

Discared behavior in favor of direct manipulation of the vetices, discarded static test ...
Refactor cube creation
cpplint and documentation fixes
fix linux build warning

I don't really know what is wrong with the assignment, there seems to be a bug with gcc but it looks like it not really related to this expression
Changed class to struct, added asserts
Removed Euler Angle functionality
Rework meshRepresentation as the representation owning the mesh

Refactor cube into reusable code
Add initiailize to Mesh
Add selection of dynamic components to mesh
Several changes triggered by linux and assembla comments

Removed triangle data from mesh
Fix bug in OptionalValue comparison
Add != comparison in Optional value
Add typedef in MeshElement <void> specialisation
Triangle-Triangle contact calculation.

- Returns the minimum penetration, which when offset, will remove the intersection.
- Added test cases.
Merge branch 'master' into feature/graphics-dynamics-mesh

Conflicts:
	SurgSim/Graphics/AxesRepresentation.h
	SurgSim/Graphics/RenderTests/CMakeLists.txt
	SurgSim/Graphics/UnitTests/CMakeLists.txt
	SurgSim/Testing/MathUtilities.h
Create RenderTest to load truth cube data and display them for all strains.
Add assignment operator, tests