Fix errors in Jenkins tests now that they're running again.

- Jenkins runs Python 2.6, which doesn't support using assert_raises as
  a context manager, so we use Django's version on TestCase, which uses
  the version from unittest2, which does support it.
- Set BannerFactory to be an abstract factory.