Try to add more to the account plugin.

Yesod's auth plugin system is really restrictive, and is clearly designed for
external authentication systems. So, I'm going to go ahead and write it as a
normal set of handlers.

I'm just committing these changes in case, for some reason, I want to come back
to them.