name to grib

**Reviewer: cpelley**

Enhance NAME to GRIB translation, such that comparable cubes can be loaded back in.
The internal user story is as follows:

```
>>> for i, cube in enumerate(iris.load(filename)): 
…        iris.save(cube, 'cube{}.grib2'.format(i))
should result in grib files that can be loaded back into Iris resulting in comparable cubes to the
source i.e. equal data and coords where filename is NAMEII_field.txt and also NAMEIII_field.txt
from the current test data. The name and units should be preserved if supported by GRIB2, and
set to unknown/missing otherwise.
```

TODO:
 - [x] https://github.com/SciTools/iris/pull/833 must to be merged for this branch to work. Rebasing onto that branch gives fully passing tests.
 - ~~[ ] [pr metarelate] (https://groups.google.com/forum/?fromgroups&hl=en-GB#!topic/scitools-iris-dev/twa74txl408)~~

Raised https://github.com/SciTools/iris-code-generators/pull/23 to mirror the rule changes...