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.
`get` defaults to `None`