Testing cleanup/update

- Added unit tests for file caching
- Reduced the number of calls made to Synapse in the integration tests
-- Made test sets share projects where possible (so cancelling a test does not leave more than 2 test projects in your profile)
-- Combined or deleted related/redundant tests (12 integration tests!)
- Cleaned up integration testing code in general