Make matplotlib an optional Iris tests dependency

This PR allows the Iris test suite to successfully run in an environment where matplotlib is not available. This is achieved by adding a new test decorator (`skip_plot`) that when used to decorate a test class or function means it will be skipped if matplotlib cannot be imported.

To avoid import errors in test modules that use matplotlib (or Iris plotting modules), importing of these modules is wrapped up in a `try` clause.