Implemented array structure identification functionality.

This PR lays the groundwork for an optimised structured field loading process necessary to deliver an order of magnitude performance boost over the existing PP/FF field loading in Iris. The sub-module itself is entirely contained, and does not need anything within Iris to function, however, the functionality provided will be critical in the fast identification of structure within a flat list of PP/FF field instances.

I'm still doing a bit of work on the PR, but pushing now to see how travis-ci likes it...