Add base classes for request and response objects
Add more robust password storage system

Update password storage system for users to use use a salted hash to
store passwords.
Merge branch 'login_system'