New GRIB2 load convert mechanism

This is an early bird PR that implements the proposed new load translation of GRIB2 messages to cube metadata.

This PR is a WIP.

I'm keen for other developers (i.e. @rhattersley) to cast their eye over this PR for feedback even though I still need to complete the doc-strings and supplement with associated tests.

- [x] Doc-strings
- [x] Unit tests
I think you can avoid some of the patching, including the troublesome `gribapi.grib_release`/`__del__` issue, by using a "dummy" `_GribMessage`? See the [unit tests for `_GribMessage`](https://github.com/bjlittle/iris/blob/load_convert/lib/iris/tests/unit/fileformats/grib/message/test__GribMessage.py#L42) for an example.