Make sure TopicAssignment objects are unique

Django was not raising an IntegrityError when multiple TopicAssignment
objects with the same topic & object pointer. This adds a
unique_together constraint to TopicAssignment, and deletes any offending
TopicAssignment objects in the migration.
Update note citation test

Reverse the generic relation btwn Note and Citation, and make sure that
the test Note object includes a last_updater, which has since been
added.
Fix testDuplicateSlug test

Update what formset information the note admin test expects, and use
assertFormError instead of the combination of assertEquals and
inspecting the response context.
Rename our admin app to admin_custom

(for lack over a better name)

Two apps shouldn't have the same name due to namespace collisions in
some places, in this case the test runner. I just spent two hours having
a mental meltdown since `./manage.py test admin` wasn't finding
editorsnotes/admin/test.py.
Move tests for admin views to admin_custom app

More to come......................................
Refactor tests a bit

Import all of main/models; boring things
Add test for related topics
Merge pull request #132 from editorsnotes/more-tests

More tests