Replace JavaScript Lint with JSHint.
Always set `Newton.Environment.document`.
Update `curl` and RequireJS.
Update the unit tests.

* Add support for PhantomJS.
* Set the process exit code to the number of failures upon test
  completion.
* Wrap the test suite definition in a `defineTests()` function for
  compatibility with asynchronous module loaders.
* Update the browser test harness.
Add `.travis.yml`.