Grib pdt 8

Following existing support for PDT 0, 1 and 31.
I stole @bjlittle idea of managing multiple mock.patches together without stacking up context managers, and made it into a helper method of IrisTest, so that is a separate commit.
Instead of using `NotYetImplementedError`, please either use `TranslationError` or raise a warning (when `warn_on_unsupported` is True).