Add a private constructor to YaspGrid that only knows local coordinates

This constructor is used to build a tensor product grid from local coordinates.
It is kept as a private constructor to protect the user from constructing
wrong overlapping coordinate sets. It still allows such construction via the
BackupRestoreFacility (which is introduced as a friend).
Finalize the BackupRestoreFacility for tensor product grids

We need the global size to determine whether we are at a
physical boundary. Make use of the new private constructor.
[test] Expand the test suite

Make an entire grid check with the restored grid.
Compare a backup of restore with the original backup.
Revert the change in print() on EquidistantCoordinates

As the size information isnt needed in backup(), the method
is not used there, but instead meshsize is extracted directly.
[bugfix] Backup correct data for equidistant coordinates

We need the global coarse size instead of the local. Also,
clean up the filename stuff.
[test] [bugfix] perform the test only if necessary

on tensorproduct grids and on rank 0