Add tests for new models and banner creation process.

Also fixes issues with existing tests:
- 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.
Add link referral view that sends data to GA and use it for banner code.
Add management command for retrieving referral data and fix model.
Tests!
Add google-api-python-client.
Fix bug 977850: Add support for creating text banners.