Add JSHint dependencies

Add lint tasks and config for JSHint

 - Config Node.js as lint environment
 - Group file paths
 - Default gulp to lint files
 - 'watch' task now runs tests whenever a relevant file is modified
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