Add Java installation instructions to INSTALL.OSX.rst

[ci skip]
Add a package.json for managing frontend dependencies

This allows us to install all but compass locally in the project rather
than relying on global executables.
Install frontend dependencies in bootstrap
Update webassets paths in configuration files

These now use project local dependencies rather than relying on them
being installed on the users PATH.
Update INSTALL docs to instruct on node installation

This reduces the number of installation steps for most platforms. Node
installation instructions taken from the Joyent wiki[1].

[1]: https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager
Pin repoze.sendmail until upstream fixes known bug

repoze/repoze.sendmail#31
Add .buildpacks for heroku-buildpack-multi
Remove webassets node binary paths in production

Our common production deployment assumes a heroku or heroku-like
environment. In this environment, the PATH is already set from the
buildpack.
node deps are not development only

Until we start packaging and releasing a version with pre-built
assets, these are needed at runtime.
Add node engines to package.json
Remove obsolete test hacks
Make "make clean" compatible with OSX

Previously it used "rm -r" to skip running the command if nothing was
piped in via stdin. The -r flag is not supported by OSX so now we just
use the find command to perform the removal using -exec.

[skip ci]
Fix failing annotator login test on OSX

The SERVER_NAME environment variable on OSX defaults to 127.0.0.1 where
on other systems it's localhost. When a user is created the provider
defaults to the request.server_name value, this caused the assertion
to fail.

Ideally we'd be able to set the SERVER_NAME in the config for all
platforms, but I was unable to find the correct config value for this.
So in the mean time I'm just accepting both options as valid.
Wait for sidebar to ack setTool before applying

Without this change, clicking highlight mode and then dismissing the
authentication without logging in will make it so that one must click
it twice to trigger the behavior again.
Fix failing annotator login test on OSX

The SERVER_NAME environment variable on OSX defaults to 127.0.0.1 where
on other systems it's localhost. When a user is created the provider
defaults to the request.server_name value, this caused the assertion
to fail.

Secondly, Selenium only returns visible text when using the element.text
property although some drivers (FireFox) seem to return hidden text
also. So now we use dom properties to access the contents of the text
node regardless of styling.
Use 30 second timeout for all WebDriverWait calls

This is to workaround the timeouts in the integration tests in Travis.
Silence the Application logger when running the tests
Add phantomjs to the package.json

This is now used as the primary platform for functional tests until
we can get Sauce Labs running reliably.
Swap out Sauce Labs for a local PhantomJS instance

This should run faster an more reliably for the moment. Working tests
in one browser is better than unreliable tests in many.
Remove unused imports