Added basic user authentication.

The user widget still needs to be formatted and the password reset
functionality needs to be tested.