Make tests pass and easier to run

I wanted to run the tests, there seemed to be a couple of failures:

    user = kwargs["user"] or self.get_user()
    KeyError: u'user'

and

    NoReverseMatch: Reverse for 'mark_read' with arguments '()' and keyword arguments '{u'message_id': 1}' not found.

I also wanted an easier way to run the tests without setting up a dummy Django project first

This fixes both of those things, tests can just be run via `python setup.py test`