Removing untold quantities of stupid from the class-based views.

It appears that someone didn't know about `self.reqeust` and therefore decided to override various method definitions in order to allow `request` to be passed around, even though it was never actually used.
Adding a `@registration_must_be_open` decorator so that one can use custom function-based views.

This is the beginngins of getting rid of the CBVs in 'registration'.  The only things which they do (ensure registration is open/register users/activate users) can all be done in a much more reusable way in decorators/forms/functions.