UM fields array structure identification for fast loading.

Context: 
The key external interface is "group_structured_fields"  (in iris.fileformats.um._fast_load_structured_fields).
 * this returns 'FieldCollation'-s ..
 * .. which are in effect triples of (vector_dims, dimension_elements, element_arrays_and_dims)
 * .. so something else can turn that information into cubes.

There is no actual user API yet. 
Most probably will be an experimental 'iris.load'-like function, which will take filenames + return cubes.
`actual_values_elements` used to have the 'name' information within it, seems strange to reintroduce what was already there using the other object.  Why not simply pass the original, then initiate ordered dictionaries rather than standard dictionaries (`collections.OrderedDict`).  Granted I have not looked what your using the dictionary for yet, though I have an idea.