ENH: Support for patching conventions.

This allows iris to handle patching of the conventions global attribute via a defined `cf_patch_conventions` function.
I'm not certain about this (it came up when I review another PR recently), but I fear that if this test fails `ds.close()` will not get called. I suggest leaving the assert until last.