Metarelate Types

Gen translations is updated to use the newly released Metarelate API.

This reproduces 
iris.fileformats.um_cf_map 
and 
iris.fileformats.grib._grib_cf_map

with one exception: a mistake in um_cf_map caused a line to be written twice, which should not occur; this pull request removes that repeat line
This is surprising. Looking at the code it looks like the only dependence is through an `isinstance()`. Is there any way to break this dependency?