ENH: Implemented array structure identification functionality in
preparation for the next phase of structured PP/FF field loading.
Merge pull request #1150 from pelson/array_structure_identification

Implemented array structure identification functionality.
Group scalar coordinate rules of pp_rules into sectional functions.
Merge pull request #1151 from pp-mo/group_pp_rules

Group scalar coordinate rules of pp_rules into sectional functions.
Add 'ukmo__um_version' attribute for pp load and save.
Fixed cml and cdl changes.
Fix doctests and examples.
Fixed um_version attribute name.
Revised docs and docstrings for new um_version attribute.
Revised cdl/cml files for new um_version attribute.
Remove version code from netCDF 'source' attribute.
Revised docs and docstrings for 'source' attributes without um version in.
Revised cdl/cml files for 'source' attributes without um version in.
Fix remaining uses of 'ukmo__um_version'.
Fix test functions logic.
Ensure 'um_version' saves as a variable attribute.