Notification Enhancements

* Added DKIM settings to emails
* Added SES settings for emails
* Refactored notification services into separate files
Final sprint9 (0.0.9) branch.

Merge branch 'devel' from 'sprint9' to 'master'
Make submit buttons bold to draw attention

I didn't like how submit and cancel buttons had the same weight
Make opportunity descriptions 1000 chars max

Was previously 400 chars.  Fixes #108.
Merge notification changes from #89

@DanKotte implemented the changes requested in #89.

@DanKotte also implemented #92, which allows
nodemailer settings to be set in local.js.

Merging them into the working sprint10 feature branch.
This branch will be used to test notifications on AWS.

Merge branch 'sprint10-feature-notification-enhancements'
into sprint10-feature-ui-not-merge
Require fs, don't try to load dummy file

While this is useful for helping someone configure,
the file doesn't exist so it needs to be commented out.

Uncomment these DKIM and SES lines to use DKIM or SES.
Fix for #125: test regression

When running `make init` and `make demo`, need to try
to create the users if you get a 403 unauthorized message.
Instead call the register endpoint.

Users also now must meet validation rules, which require
an email address and a password that meets password rules.
Update user accounts in config to meet those rules.

Fixes #125.
Fix user test to match register

The user test was using the old method of register.
Update the unit test to match how registration happens now
and support the new `json` parameter.

Fixes this regression in the test framework.
Fix unit test regressions

In moving from Sails 0.9.4 to Sails 0.9.8, the response code
for calling POST to create a model in a controller changed
from 200 to 201.  This broke a lot of the unit tests.

The login procedure also changed with the addition of
'register'.  Update the helper to correctly register if the
user login fails.

The project object changed with the addition of projectOwner
objects.  Fix the like test to use the owner object
within the project object correctly.

This should fix all of the current regressions and thus
all the unit tests should pass.
disk should use sails-disk, not sails-dirty

This is an artifact from old versions of sails.  Fixing to
get travis ci working again.
Make edit profile & project behave the same

When editing a profile or a project, successful save should
take you back to the profile or project rather than keeping you
on the edit view.  Also standardize the styling of the buttons
and the text displayed.  Moved to "Discard Changes" for the cancel
button and "Save [Item]" for the save button.
Make edit tasks like all other edit

Change the labels to match edit project and edit profile
Make submit buttons always bold

Use the same semantics across the application for the
submit button to always be bold.
Fix travis to not load specific sails

sails should be loaded based on the package.json @ version
designator.  The only custom thing we use is sails-postgresql
Minor tweak to travis.yml
Migrate to validator 3.4.0

Was using validator 2.0.0 to be consistent with anchor
(used by waterline).  Since anchor accepted my pull
request to upgrade to 3.4.0, we should upgrade to 3.4.0
as well.  Make the syntax changes necessary for this
migration.
Speed up JS page load

Don't run dotdotdot and popovers on each item added
to the page.  Instead, render all of the items and then
run the javascript once.  Here's hoping this speeds
page load in production.
Do ... first, then popovers

... is more important to the page L&F so run first.
Fix use of transport() in sending emails

This is why we test things @DanKottke!

Addresses issue #90, which is now implemented AND tested.
Use dppx and not dpi (css3 compliant)