post_deploy_actions.bash should have a #!/bin/bash shebang line
Add "set -e" to post_deploy_actions.bash

If there are any errors (e.g. permission problems preventing the
creation of ../node) we should exit as soon as that happens.
GEM_HOME & PATH shouldn't have a relative path

This can cause confusing errors where resources packaged in gems can't
be found.
delete memberships from a person

Remove all the memberships related to a person that are not in the list
of uploaded memberships.
Does not remove primary membership yet.
make sure primary membership is deleted correctly

If deleting the primary membership then we have to remove the values in
the inputs further up the page otherwise this is recreated
Always match active tab when switching to edit view

If the tab on the view section has been programatically set then there
isn't a location hash to the existing code doesn't work. This code
resolves this by working out which tab is selected via classes.

Fixes #522
add passport and related auth modules

update package and shrinkwrap
Add passport-local strategy for legacy auth

This allows users to log in using their instance-specific email and
password. Eventually this will become the fallback to the main site-wide
login, and in the long term this will go away entirely.
Remove commented out basic auth middleware
Use passport to authenticate the login request

This removes the custom auth handling code from the route handlers and
leaves it up to passport to do the actual auth.
Add site wide account mechanism

Falls back to instance based auth
Include basic registration page
Login allow access to all instances
Fix jshint warnings
Add master method to popit class

This enables easy access to the master connection rather than having to
store a separate one for accessing accounts.
Add configurable cookie domain to session middleware

Allow the cookie domain for the session middleware to be configured and
default it to the new setting.
Move registration app out of the main auth app

This allows us to use the registration part of the auth app in the
hosting app rather than in the instance app. This is preferable because
people will want to register for an account before creating an instance.
Add supertest dependency
Split up the app from the server

By separating these two modules we can test the application in isolation
using supertest without having to worry about the server starting up and
binding to a port.
Move sessions and auth into the master app

Rather than handling these separately in the hosting and instance apps
it's more straightforward to just handle these in the top level
application. By doing this we can reuse the same logic to keep the user
logged in across instance and hosting apps.

I've also switched the sessions to use signed cookies rather than mongo
which is much simpler and removes problems with hanging connections when
testing.
Tests for the registration process

These are some basic tests for the popit registration process. They're
full integration tests, so hopefully they can be a basis for future
tests are of sort.
Add user information in the head of hosting app

This information isn't actually shown to the user (it's commented out)
but it is used in the tests to assert that the user is logged in (or
not).