Fix missing underscore requirements
Run jshint on tests as part of test suite

Also fix up jshint errors
Make `npm test` use built version
Eliminate dynamic path calculations in require config

- Put all build config for requirejs in build.js (modules).
- Move common require config into src/main.js.
- Create bundles.js for bundle config. This should be automatically calculated from elements of build.js and src/main.js.
- Fix require config for test runner.
- Eliminate jquery.vellum env config option, which would break vellum if configured improperly. This is now automatically handled by the build.
- Fix up global dependency loading in test script, which were unreliable and cause the test page to break intermittently.
Fix CSS image loading

In production sometimes images referenced from CSS would load relative to the page URL (and fail) and other times they would load correctly. The previous commit made them always load relative to the page URL (possibly due to the elimination of resource path hack in the require config??), and therefore they were always failing. This moves them to a separate CSS file, which seems like the only reliable option for require-css and require-less in a component like vellum that may be deployed at any arbitrary path.

See https://github.com/guybedford/require-css/issues/139
Use node http-server instead of server.py

Was getting a lot of net::ERR_CONNECTION_RESET errors from the Python server.
Automatically build main.js for built version
Fix save spinner in built version

Fixes http://manage.dimagi.com/default.asp?126977
Merge pull request #229 from dimagi/128716-fix-missing-tree

Fix missing tree