Moving EmptyData class from MeshShape into DataStructures.
Using Datastructures::EmptyData class for TriangleMeshPlaneContactCal().
Using DataStructure::EmptyData for OctreeShape, OsgOctreeRepresentationRenderTest
and OctreeNodeTest.
Using DataStructure::EmptyData instead of void data in:

+TriangleMesh
+TriangleMeshTriangleMestContactCalculationTest
+TriangleMeshPlyReaderDelegate
Replace 'void' template arguments in Mesh class with EmptyData and remove
the specialization of MeshElement with 'void' data.
Using EmptyData in TriangleMeshTest and TetraheronMeshTest.
Revision based on Coding Standards
Merge branch 'feature/EmptyData-refactor' of git.assembla.com:OpenSurgSim into feature/EmptyData-refactor
Fix CppLint warning
Revise using eigen axis unit vectors.
Add documentation for EmptyData class.
Removing unused included header files of EmptyData in TriangleMesh.h
and MeshShape.cpp
Clean up code and remove 'using' in header files.
Add a dedicated constructor for MeshElement that has empty data member.
Revise the code with new dedicated constructor of MeshElement that
does not need data member.
Remove EmptyData type in MeshElement class.
Fix bug, remove normalized() for unit vector in makeRotationQuaternion and
also add UnitY().
Remove normalize().
Remove data member variable of MeshElement from initializer list since
its uses the default constructor and revise documentation.

Also delete extra spaces in EmptyData.h
Merge branch 'master' of git.assembla.com:OpenSurgSim into feature/EmptyData-refactor

Conflicts:
	SurgSim/Collision/UnitTests/TriangleMeshPlaneContactCalculationTests.cpp
	SurgSim/Collision/UnitTests/TriangleMeshTriangleMeshContactCalculationTests.cpp
	SurgSim/DataStructures/TriangleMesh.h
	SurgSim/DataStructures/TriangleMeshPlyReaderDelegate.cpp
	SurgSim/DataStructures/TriangleMeshPlyReaderDelegate.h
	SurgSim/DataStructures/UnitTests/TriangleMeshTest.cpp
	SurgSim/Graphics/Mesh.h
	SurgSim/Math/MeshShape.h
	SurgSim/Math/UnitTests/MeshShapeTests.cpp