The requirements-test.txt file describes what the tests need in order
to run. That's distinct from the requirements to install - and it's
needed because the unittest.mock interface isn't present on Python 2.7,
so we need to use a backport.

This module is then used conditionally in the two tests we currently
have, so that we can run in either version.

The test classes have also had comments added to describe what they're
trying to test and the invariants they assume.