Landing, login and logout (reusing admin)
Changes so that tests pass

There is no method called init on Generator so removed that code.
Explicitely catch DoesNotExist exception and don't catchall for TypeErrors when
we can use something simpler instead.
Let the exceptions do their thing

Only catch and handle those that we know how to work around, the rest should be
left to bubble up. Either we can handle them elsewhere or the program will exit
with an error and a stacktrace telling us everything we need to know.