Move tests to pybal.test; use Twisted's test runner

Twisted extends the unittest module in Python's standard library with Trial,
its bundled unit-testing framework. It provides a number of features that are
useful for testing twisted-based code, chief among them the ability to return a
Deferred from a test-case method, with the result of the test being conditional
on the Deferred firing.

Trial's test runner does muck with unittest.TestCase's setUpClass and
tearDownClass, though, so I had to move the code we had in those methods to
setUp and tearDown (which means they run before and after each test, rather
than before and after all tests in a class). The consequence of this is
negligible.

I also moved the unit tests to pybal.test, to better conform with Trial
conventions.

Change-Id: I88492320314902908b92e28b2aeffada3b7bd19d