Metaclass to disable cf profile for testing.

Currently the site specific cf profile is disabled for testing using a ```setUpClass``` class method in ```IrisTest```. The problem with this is if any test cases define their own ```setUpClass``` method and don't explicitly call the one in ```IrisTest``` the cf profile will not be disabled. Whilst not unreasonable, this requirement could easily be missed. Furthermore, the current approach does not restore the cf profile after testing. A ```tearDownClass``` method could be implemented to do this but this has issues with multiprocessing.

This PR disables and restores the cf profile using for all test methods of classes derived from IrisTests. It does this using a metaclass to decorate ```setUp``` and ```tearDown```.