Lazy evaluation of GRIB keys

Main changes:
 - Switches a _RawGribMessage from evaluating all the values up-front to only on-demand.
 - Moves `iris.fileformats.grib._messages_from_filename` to `iris.fileformats.grib._message._GribMessage.messages_from_filename`.
Didn't know if you'd prefer to `re.compile` the regular expression outside the loop, then use it inside the loop to match with ... slightly more optimal.

Might prove of benefit since we're always looping through all keys for all messages ... your call.