Hotfix for SSPI Admin Settings

Merge branch 'devel'
Add UI for forgot password

The UI allows you to click on 'forgot password',
enter your email address, and then shows a screen that
confirms that an email has been sent to reset your
account.

Includes an error handling div in case an error occurs.
Remove SSPI from AuthController

All authentication happens through passportjs now,
don't need this endpoint
Display errors in forgot password dialog

Add correct classes to the forgot password
form
Update policies

Remove auth and main that don't exist anymore as routes.
Add AuthController as accessible from anyone.
javascript style guide formatting (WS only)

whitespace only commit
Add more test cases

Add test cases for admin (make sure admin can access the data
they want, and make sure that non-admins can't get to it)

Add test cases for forgot password as part of the AuthController
Add the first phase of forgot password

The first phase includes the endpoing for the UI that
looks up the user account and then generates a password
reset token for the user.

If the server is in test mode, the token will be returned
by the API.  If the server is not in test mode, only
a vague `success:true` with the submitted email address
will be provided.

The next steps:
- Generate notification email
- Create profile/password page for resetting password
- If given a valid token, gray out the old password field
- Backend token verification function
Add checkToken user utility

Used by the auth controller to test if a password
reset token is valid.

Add tests to auth.test.js for verifying tokens.
Add Midas info to README

From our one-pager about midas, put it in the repo too.

First commit for this repo at 18F.
Update TravisCI link

To 18F
Update link to 18F
Merge README.md changes

Merge branch 'master' into sprint12-reset-password
Deep clone email fields

Because emailTemplates often changes the context,
the email fields references can be overwritten before
the email template is processed.  Doing a deep clone
on the data prevents this from occurring.

This requires the use of lodash instead of underscore
to get the cloneDeep function.

This fixes #166.
Drastically simplify notifications configuration

There were a ton of settings in notifications that
really didn't do anything.  They were put in there
in the interest of being used at some point in the
future, but were never implemented.  It made the
notifications settings overly confusing and made
it difficult to parse the machinery.  By removing
these settings, we lose absolutely nothing and
we gain a ton of clarity.
Remove reference to emailSettings

This is the only place in the code that actually
tried to use the emailSettings configuration file.
And it was never overridden.  Update the controller
to remove this.
Add user password reset notifications

When the user requests a password reset, the system
should send them an email with a code to reset their
password.

This commit implements the notification email that
is sent to the user with a unique code to reset their
password

Partially addresses #111
Show 'thank you' screen for forgot pw

After successfully requesting a password reset, show the
thank you screen.
Change return button color

This should be an action button, not a cancel button.
Hide thank you view on return

Hide the forgot password thank you view when done.