add pytest requirement
Get mocked tests to work with py.test

Unlike our previous technique of creating a new unittest.TestRunner for
each test file, py.test does not automatically reload modules for every
new test file. Therefore, the assignments to variables in journalist in
these tests replaced the real functions with mocks, which would break
subsequent tests. By reloading the module when we finished the mocked
tests, we can restore the module state for subsequent tests.

Also cleaned up formatting a little bit.
Use py.test to run test suite in manage.py

py.test gives us better output. This also allowed me to greatly
simply the code for `manage.py test`.