Restructure code to new architecture.

The frontend is now only capabable of serving up the frontpage and logging in users, creating a new User in the core database.  This is pretty hacky, but will be cleaned up as part of the AuthUser story.
not pointing out but asking: why is gravatar_hash required?