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
Looks like GRIB regards "bit 1" as the most significant bit. e.g. See http://www.cosmo-model.org/content/model/documentation/grib/grib2keys_3.htm