Fix time based tests

We have a bunch of tests (mainly around the state pension calculator) which have broken since the weekend. These appear to be due to assumptions around the date on which the tests are run, owing to upcoming rate changes. I've fixed these by setting the time to a date before the start of April, but it's likely further changes and tests will need to be added for the new rates and the new time.

It also appears that we have never actually reset Timecop after each test has been run. I've added `Timecop.return` to the global `teardown` method - it seems the right thing to do. This broke a few more tests which previously assumed the time of an earlier ran test, which are fixed here too.