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.
Re. "shapes_unequal" - this is a confusing description. It makes it sound like an error condition, instead of normal behaviour for masked data.