Fix GRIB fill_value

The GRIB loader is currently using NaN to signal missing data, but when creating the MaskedArray instance it's relying on the default value for `fill_value` which is 1e20. This PR changes that fill value to NaN to make it consistent.

*Caution:* I'm not 100% confident this is the right thing to do! I don't completely understand the behaviour of the underlying GRIB API.

@bblay - It might help if you could clarify what happens if we don't do:
```python
# set the missing value key to get np.nan where values are missing,
# must be done before values are read from the message
gribapi.grib_set_double(self.grib_message, "missingValue", np.nan)
```