GRIB deferred loading with Biggus.

This PR incorporates Biggus deferred loading within the GRIB loader.

This brings the GRIB loader in line with the deferred loading capabilities of the other primary data formats supported by Iris i.e. NetCDF, PP and Fieldsfiles.

 - [x] Rebase required since #971 has been merged.
The reason is that the gribapi has already read the message and moved the file pointer.

So the file pointer is always at the end of a message **not** at the begining. That's why the `message_length` requires to be subtracted from the offset so that we have the file byte offset of the first byte of the current message.

I'll update the comment for clarity.