Site wide accounts

- Added passport for handling authentication
- Legacy authentication system has been retained (using a passport strategy)
- New site-wide authentication system added
- Moved from mongo to cookie based session storage
- Configured cookies to persist across subdomains
- Added some basic integration tests
- Created a top level `app.js` which is separate from `server.js` to make testing easier

Part of #509