Adds database update when selecting an estimate

Clicking on an estimation card adds the estimate to the requirement and
updates the database.
Authors: dbeckwith, quan1992
Adds a basic user preferences controller

Not fully implemented. Somewhat abstracts user controllers.
Gets username from ConfigManager

Removes changes to LoginController
Adds common functionality for getting users to a single file

MockNetwork complains when testing, going to see if that happened in
feature-useremail
EmailController extends AbsUserController

Extension of last commit; this file wasn't included for some reason.
EmailController extends AbsUserController

Now it actually extends it instead of a nonexistent interface!
Adds user field to requirement voting

Used to see if the user has already voted for the current requirement.
Still no way of telling what the current user is though...
Authors: dbeckwith, quan1992
Merge pull request #36 from dbeckwith/feature-emailnotification

Feature emailnotification
Merge branch 'feature-emailnotification' into team9dev
Adds basic GUI elements to the view

UserPrefsController is now a singleton because there will only be one
user on at a time.

Known bug: preferences tab doesn't close
Known bug: doesn't grab the user before first opening the preferences
panel
Begins validating date for deadline

Validating user entered date for deadline, and making sure it is not in
the past. Not fully functional with errors in the save button being
enabled or not.

Authors: dbtrue, ammesonb
Fixes bugs in previous commit.
Merge branch 'team9dev' into validate-deadline
Finishes validating date for deadline

Fixed bugs with save button. Button now grays out and enables at
appropriate times.

Author: dbtrue
Formatting and comments

Fixing formatting and adding some comments.

Author: dbtrue
Merge pull request #45 from dbeckwith/team9dev

Merge team9dev into feature-store_estimate
Automatically select newly entered requirement

Selects new requirement in new game panel when the requirement is saved.

Authors: dbtrue, ammesonb
Reworks right panel GUI according to Marty

Also adds a feature to the game tree so that it automatically expands a
tree node when you select it, reduces the amount of clicking you need to
do.
Authors: dbeckwith, quan1992
Disables save button on attempt with invalid date

Previously save button was not disabled if deadline was valid when entered
but not when save is clicked.

Author: dbtrue, ammesonb
Adds User Email Validation

Checks the user's inputted email address for the correct format. If the
user inputted an incorrect format, throws an InvalidEmailException in
UserManager. Utilizes regex.

Author: Shockolate Ellychou