Rewrite: OOP, Output reporters, bug fixes.

* Refactor lib into a constructor.
* Centralise authentication logic, but not during construction.
  This way it can easily be required from a method while still
  allowing easy usage for non-auth methods (to be added later)
* Factor any console output into the cli-reporter, tied in through
  EventEmitter. This way the library can be used from another
  script without also getting all the output, and easy to plug in
  other reporters.

Misc.:
* Move library into lib/ directory
* Move JSHint options into .jshintrc file for compatibility
  with node-jshint and editors' plugins like in Sublime Text 2.
* Fix Grunt config (lib/** and test/** didn't exist previously,
  it wasn't linting the library at all)
* Enforce jshint settings.
* Fix npm test script (grunt test didn't exist).
* Update Release history 0.2.0-0.4.0 and move to History.md.
* Add myself to contributors list in package.json.
* Update nom dependencies.
* Abstract addjob parameters ("runUrls[]" -> runUrls), this
  allows future compatibility when things change in TestSwarm
  and hides PHP-specific implementation details.
* Rename test.js to sample-test.js.
  Updating doc example and ignores from local-test.js to test.js.
* Add Travis-CI support (only linting for now).