GRIB support for saving time increment for time aggregated data (PDT4.8)

This PR enhances the existing code for saving data in PDT 4.8. As well as refactoring the code it adds support for parsing and saving the cell_methods on cubes to determine the interval (e.g hourly or daily) of the data that has been summed/averaged/...
Nearly everything else it does is covered in the separate tests for _time_increment and _time_range.
But we are missing a check on the end-time keys, set at https://github.com/esc24/iris/blob/743152d27a44ccf0e6e460f52565b7b51b6ae534/lib/iris/fileformats/grib/_save_rules.py#L529 and subsequent.
It could be stuffed in the first (success) testcase here, or in a separate class if you want to keep this specific to the time-statistic details.