Initial revision of gtest framework
added some more tests for all mesh entities and added logic in CMakelists
 for automated building
The geometry module was changed so that node, edge, face, and cell were
 combined into a templated class. Therefore the tests were changed to reflect
 this.
Merge branch 'add_gtesting_framework' into develop
During testing, much code duplication was noticed between the node, edge, face,
 and cell. Therefore, these four classes were replaced with a templated class
 with a policy that can be replaced at will to modify the run-time behaviour.
Merge branch 'entity_framework' into develop