Suppress invalid units warnings

Add a context manager to suppress the occasionally very verbose warnings raised when an invalid unit is encountered by the Iris load process. For example, the following warnings messages (including the error from UDUNITS2) would all be suppressed:

```
/../site-packages/iris/fileformats/_pyke_rules/compiled_krb/fc_rules_cf_fc.py:1195: UserWarning: Ignoring netCDF variable 'surface' invalid units 'level'
  warnings.warn(msg.format(msg_name, msg_units))
ut_scale(): NULL factor argument
```

The benefit of this is that more significant warnings may otherwise be lost in the noise, particularly if a dataset has many invalid units and/or cannot be otherwise modified to add valid units.
To be completely open it is also suppressing warnings generated in the netcdf loader. I'd also argue that it's not so much a workaround as providing users with a way to easily ignore problems in data (rather than Iris) where the units have been set to values not supported by cf-netcdf. In that sense I see it as a utility for users, but I agree iris.unit is a fair location.