Putting back mesh changes

Making SurfaceIter independent of Mesh, trying to reduce the size of the Mesh class

This reverts commit f18a0d9298761fe5c67663300d50b8efb0a5f023.
Fix to Mesh changes

Left a periodicX variable in BoutMesh which hid Mesh::periodicX,
resulting in strange behavior
Fix reconnect-2field example

Need to include constants.hxx to define PI