Add section 6 (bitmap) translation to new GRIB loader

Loads the bitmap from section 6 of a GRIB2 message (if present). If a bitmap is contained in section 6 it is combined with the message data so that the resultant cube's data array is a NumPy masked array.

The bitmap is combined with the message data in `fileformats.grib._message._DataProxy`. The process in `fileformats.grib._load_convert` has been adjusted to only throw an error if an invalid bitmap is encountered, rather than if a bitmap (invalid or not) was encountered. These changes have introduced two new test modules.

The existing grib message test module has been updated to test that the bitmap is being retrieved and applied correctly. One of the impacts of this change is that the data attribute of the message always needs access to the section 6 of an input message, so all the existing data tests in this test module have been updated to provide a section 6.
For reference, the assumption that I was making that caused the disagreement here was that the underlying grib message contains _all_ the data points (including the ones that the bitmap masks) and that GRIBAPI omits to return these. As @rhattersley has convinced me that this is not the case, I'm happy to remove the logic test in question here.