Add sign-in, sign-up, and sign-out

A user must sign-up with both a username and email address, but has the option after sign-up to sign-in using either his or her email or username.

Also in this commit:

Add password confirmation for user sign-up

This feature currently doesn't work and will be removed. The password was continuously being unset during sign-up. The sign-up process appeared to be complete, however the new user was not persisting into the database.