Gmsh

This branch cleans up the GmshIO reader a bit, and allows us to support reading Gmsh files when the Mesh dimension is not specified up front, so it is a lot more flexible now.