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.
I disagree. The `_bitmap` method exists to return the bitmap from the grib message if one exists, or otherwise `None`. As the bitmap is coming from the grib message we can state that we can safely assume that the bitmap is appropriate for the data and we should always load it so that Iris is producing an accurate representation of all of the input grib message.

To move this processing into `_bitmap` would be a bad idea from a code point of view because:
 * `_bitmap`, as its docstring states, deals *only* with retrieving the bitmap. It doesn't know about the message data and shouldn't have to. Moving this would require also passing the data attribute into the method, which is something I don't want to do.
 * It is the job of `__getitem__` to return a valid representation of the data, so the processing of adding the bitmap to the unmasked data as required should be done within `__getitem__`.