[#14] Separate out failover tests

These are the least likely to be re-used; either by our other services or by
third-parties using our open source code. So don't clutter the main test
file with them. Since they all have consistent naming they can be selected
with `-run TestFailover`.
[#14] Separate out cache tests

These all test that a response *is* cached.
[#14] Rename cache tests

So that they can be selected with `-run TestCache`.
[#14] Seperate out no-cache tests

These all test that a response is *not* cached.
[#14] Rename no-cache tests

So that they can be selected with `-run TestNoCache`.
Merge pull request #23 from alphagov/14-separate_tests

[#14] Separate failover/cache/no-cache tests