Support for LBLEV of 9999

Within PP/fields files the spec indicates that an lblev of 9999 should be interpreted as a model level number of 0. This came to light when loading a fields file and finding the surface field at the top rather than the bottom of a cube since the model level number coord is monotonic.

This PR ensures an lblev of 9999 leads to a model level of zero in the lbvc cases where we generate a model level number coordinate. I implemented it in a couple of ways, initially putting all the logic (```level = 0 if f.lblev == 9999 else f.lblev```) in the pp_rules.py file but the replication of code bothered me (easy to miss for future pp rules) and led me put it in a function that I then shifted to a property on the field. I'm still not certain where the best place is so I'd welcome any thoughts. As a result of this choice I also had to modify some of the mocked fields in the tests and I uncovered and fixed a bug (second commit) with ```iris.tests.unit.fileformats.TestField._test_for_coord``` where a scalar point was not being suitably compared to an empty array.