Initial commit
Add domain classes
Add mesh class hierarchies
Change name to GeoMTK
Use Google C++ test framework to do unit-testing
Add Field class hierarchies
Try to compile on Tianhe server

The libtool is problematic on Linux!
Add applyBndType in Field class hierarchies

Also getGridCoords and getNumGrid in StructuredMesh class will only
return the internal grids in PERIODIC boundary condition, unless
argument hasVirtualGrids is true. This will hide the boundary condtion
details from user.
Abandon North Pole to South Pole support in SphereDomain

Also add macros to turn private and protected member into public when
doing unit testing.
Add RLLVelocityField class

Velocity field is special since its direction is problematic on Poles,
so use a class to describe it.
Add SpaceCoord class hierarchy and update Makefile
Add MeshIndex class hierarchy
Add RLLMeshIndex class and its unit tests
Add Regrid class hierarchy
Add MeshIndex::print()
Refactor codes

To ease the mixing process of 2D and 3D cases, the indices is made 3D no
matter the domain is 2D or 3D. Also the mesh return the grid number as 1
of the dimension that does not exist.
Add Domain::calcDistance(…)
Add Velocity class hierarchy
Modify structured mesh and its scalar field
Provide access to polar ring and the its data