Add CLI option for running Selenium tests headless

- Add requirement for xfvbwrapper
- Add CLI option for running tests headless
- Update Selenium TestCase to start virtual display if the option is set
- Update documentation about running Selenium tests

Change-Id: Icb1ac3491b8eef6c168bf1421cf073da67600982
Closes-Bug: #1290329
Add jshint for javascript linting

Added nodeenv as a test requirement.

Added a jshint environment to tox.ini, which installs node.js into the
python virtual environment with nodeenv, installs jshint using npm,
and calls runtest.sh to run the tests.

runtest.sh now supports the -j|--jshint flags to run jshint on the
javascript files. jshint must be installed before running runtest.sh

The documentation also got updated to include some info about jshint.

This patch does not add jshint to the OpenStack codebase, just provides
a way to install it for testing, to avoid license clash (jshint has a
slightly modified MIT license, which is incompatible with OpenStack's
Apache license).

Change-Id: I9dd0743eaee50fdba3dbb527c29f2501bdd44ca6
Implements: blueprint node-toolchain
Implements: blueprint jshint-codestyle
Updated from global requirements

Conflicts:

        requirements.txt

Change-Id: I5493b94213e370fec2bb5f0b9d8f9ed4550a722d
Merge "Add jshint for javascript linting"
Merge "Updated from global requirements"
Merge "Add CLI option for running Selenium tests headless"