Support namespaces for reverse url resolution

This work was required for mysociety/pombola#937 to fix reverse resolution of
urls mounted under different namespaces.  e.g.  when mounting speeches urls
under /hansard/ versus /committee/ in Pombola ZA, we want

    {% url 'speeches:speech-view' xxx %}

to point to '/hansard/speech/xxx', as opposed to '/committee/speech/xxx'

Simply pointing the namespace='hansard' in the include isn't sufficient:
as per Matthew: "the resolution strategy given at
https://docs.djangoproject.com/en/1.4/topics/http/urls/#url-namespaces explains
what is happening, I believe. Given "speeches:section-list", Django 1. Finds
all "speeches" instances. 2. Looks for current application (doesn't find one,
you're not setting a current_app attribute). 3. Doesn't find default instance.
4. Therefore, uses last deployed instance (which is 'committee')."

Have followed a strategy based on http://stackoverflow.com/a/13249060, and
pass the current_app attribute (*not* dictionary member!) within a new Mixin,
NamespaceMixin.

Have added this to all views (except RecordingAPI, as a) it didn't Just Work,
due, I think, to the context object being set up differently as it doesn't have
a current_app attribute, and so this requires more work to do, and b) the
Pombola use case motivating this work doesn't require it.)

As well as the overridden render_to_response (for template {% url %} tags), we
have to support reverse and reverse_lazy in the app.  Have added methods for
these to the mixin.

The last piece of the puzzle is the methods like get_absolute_url in models.py.
This would mean passing a reference to the context app into the model, which
seems fiddly (and possibly a bad idea), so I've instead simply edited the
templates to point to the relevant {% url %}.
(Currently for get_absolute_url only -- if required, this can be done for
get_edit_url and get_delete_url also)