Added user functionality

Committing changes that enable the user to change password, register
user, change account information, and manage session data.