Began refactoring the RestManager to make it simpler to operate and test.

- Removed ResourceMetadata driver and cache from the Configuration class.
- A ResourceMetadataFactory is now supplied directly to the RestManager class, rather than being constructed within the RestManager using a Configuration object.
- The ResourceMetadataFactory class now accepts a driver and cache directly in its constructor. Previously these would have been accessed from a Configuration object.
- Reworked unit tests to accommodate the above changes.
- Added a getResourceMetadataFactory() method to the FunctionalModelTestCase class. This contains code removed from the BaseTestCase class, as it is only used for the functional tests. It provides metadata for the model test fixtures.
- RestManagerTest now inherits from FunctionalModelTestCase in order to use the above method. This better reflects the current status of the RestManager tests as functional tests.
Removed passing of a configuration object into Request and Response objects in their tests. This parameter is no longer required.
Reworked RestManager tests into true unit tests utilising mocks instead of real objects.
Added notes for refactoring further down the line, small test adjustment.
Merge branch 'refactor/restmanager'