Add surface node search

This PR contains the following change sets
- add a cubic hex mesh generator
- add MeshNodesAlongSurface class for searching nodes on a surface
- tests for the mesh generator and searcher with a surface