Unify the login configuration

In assets/js/backbone/config, change login.js to login.json.

Import this file both on the backend and the frontend.  This
allows us to pull in the settings for which login services
to enable (and thus is a bit more secure since we can ignore
any login services that aren't specified in login.json).

Modified AuthController so that instead of writing an
endpoint for each type of passportjs target/strategy,
there's one `oauth` endpoint and one `callback`
endpoint.  The parameter passed to those is the strategy
in use, eg LinkedIn.  That strategy must exist in
login.json, otherwise you'll get a 403 error.
Catch PassportJS errors

When an error occurs in PassportJS, we weren't catching it
by providing a `next()` function.  Specify the `next` function
now to catch those errors and report them both to the
browser and to the sails.log.error logger.

In the future, should encapsulate this in JSON and render
the main view again with the error.
Upgrade PassportJS to 0.2.x

The main engine is now at 0.2.0, and the passport-*
libraries are at 1.0.x.  Upgrade our dependencies.
Don't allow negative attendees for events

Fixes #97.
Merge new login json config method

Merge branch 'sprint10-login-config' into sprint10
Fix conflicts in auth merge

Merge branch 'sprint10' into sprint10-feature-sspi-merge2

Conflicts:
	api/controllers/AuthController.js
	config/settings/auth.ex.js