Add gulp support

Make gulp monitor file changes and run tests automagically.

 - Use gulp to run the project (add gulpfile)
 - Default task to run mocha tests
 - Add 'watch' task

JSHint

'watch' task runs tests whenever a relevant file is modified.

  - Add 'lint' task and config for JSHint
  - Add JSHint dependencies
  - Config Node.js as lint environment
  - Group file paths
  - Default gulp to lint files

Test with mocha (WIP):

 - Move tests to `test` folder, rename test suite
 - Add gulp-mocha and gulp-util dependencies
 - Add mocha config opts (`test/mocha.opts`)

Misc:

 - Update mocha deps
 - Rename `superagent` to `request` (best-use guidelines)
 - Make git ignore local `data` folder (mongoDB's dev storage)
Add Chai tests

Update project dependencies:

 - Remove both expect.js and superagent modules
 - Tests are now run via Mocha, using Chai and supertest

Export app object

'app' is required for tests to be able to use default routes and misc config.
See [this SO thread](http://stackoverflow.com/a/11927683/992453) for discussion.
Fix typos