Add some checking that stuff is bound

Specifically we require that request is bound to the form.
Log an error and raise a translateable string
Add a MixIn that makes it simpler to instantiate a deform

This adds a very simple MixIn that makes it easier to instantiate a form
along wth providing the right values to the various moving pieces, such
as the schema, the bindings and the form itself. Less boiler plate to
write elsewhere.
Add SchemaFormMixin to the LoginForm
Use the SchemaFormMixin to create the form

Simplifies building the forms, less code, less chance for mistakes.
Add validator to LoginForm that verifies username/password
Update User table

username -> email: It is much easier to make email addresses be unique
realname -> name: We don't necessarily need a real name
credentials: Increased the size to 60, which is required for BCRYPT
Add various properties

A variety of properties have been added that make the User model more
sane to use. Specifically credentials are now automatically upon setting
BCRYPTed and emails are now automatically lowercased.
Add convenience functions to User model
Update initializedb with changes from User model
Add some prettiness to form failures ...
Attempt to authenticate the user

If authentication fails, we return the form with the error back to the
user.
Add the start of our own authentication stuff