Apparently #3430 is still an issue and the travis_wait command added as
part of #3432 does not work as advertised. To address the issue once and
for all, I turned up the loglevel on requirejs so that it always outputs
progress to the build log (this was actually requested by @shunter and
a few others after the logging went away when we moved to gulp anyway).
Long story short we should finally stop seeing travis timeouts.
I also make jsHint run as a separate step and instead of `release` we
run `makeZipFile` to be sure the entire build process works. If
`makeZipFile` were to error, the previous configuration wouldn't have
caught it.
So it turns out that jsHint no longer works on Node 0.10.x, which is
ancient anyway. So I updated Travis to use 0.12.x. I then decided to
update our .jshintrc to take advantage of the latest JSHint features and
that produced a TON of new (perfectly valid) errors about unused variables,
empty code blocks, and unused defined globals, which I have now cleaned up.
This also uncovered a bunch of other stuff that I also fixed.
In summary:
1. Update travis to use Node 0.12.x
2. Update .jshintrc to take advantage of new features
3. Fix bad code pointed out by said features
4. Remove all uneeded `jasmine` globals in spec files
5. Generate a `Specs` specific .jshintrc as part of the build which enables jasmine mode in jshint
6. Move `QuadtreePrimitive` to Development Sandcastle gallery.
7. Update NPM modules to latest versions.
8. Lock NPM modules to specific versions to avoid untested updates in the future.
9. Ran `sortRequires`
1. Move all build related code to gulpfile.js
2. Add `npm` scripts for all gulp tasks so no one needs to install gulp globally.
3. Added new `jshint-watch` task for continually running jsHint on changed files and writing the results to the console.