Refactoring of handling of PDT in grib save code

This PR (hopefully) simplifies the code layout in `iris.fileformats.grib._save_rules` for the handling of he product definition template. It adds functions for each PDT number and removes some layers of complexity.
If this key sets an amount of time after a data cutoff then I suspect setting the key's value to 255 would not set it to missing but rather to 255 [hours|minutes] after data cutoff. Better leave it defaulting to 0, I think!