New unit tests for routes and Schema integrity validation

Add test specs:

 - Make tests run independently
 - Add POST tests (`/admin`, `/auth` paths)
 - Add GET tests
 - Add auth tests (validate authorization and authentication logic)
 - Add mocha config opts (`test/mocha.opts`)

Mongoose schema test:

 - New Factory helper (Model/template creation)
 - Add User test spec
 - Add Job test spec

Add Makefile:

 - `test` target for CI/dev runs
 - `clean` target to remove `node_modules` deps

Update project dependencies:

  Tests are now run via Mocha, using Chai and supertest.

 - Remove both expect.js and superagent modules
 - Update dependencies(add chai, sinon, mockgoose)
 - Add gulp-mocha and gulp-util dependencies

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

Add JSHint support

  Gulp '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

Misc:

 - Fix error-message typos
 - Move tests to `test` folder, rename/delete original test files
 - Add [EditorConfig](http://editorconfig.org) settings
 - Make git ignore local `data` folder (mongoDB's dev storage)
 - 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.