Added BoutComm::rank and size function

Useful shortcuts, rather than using BoutComm::get() and MPI_Comm_Rank etc.
Added validity checking to GridData

If the wrong file name was specified for the input grid,
previously a message about missing "nx" was printed, which
was a bit misleading.

Additional checking means new error message is

"Invalid data source. Maybe the wrong grid file name?"

which should be clearer.