Merge tag 'v0.20.0' into develop

0.20.0
Removed nginx from the testing framework.

Everything nginx was doing for the testing server is now done with
express. A server is now automatically started whenever the
Selenium-based tests are run.
Generate build-info.js less frequently.

The rule regarding when to generate build-info.js has been made more
selective. It used to be generated with just about every invocation of
make. This is very expensive so now it is generated only when the files
that are generated from `lib` are changed.
Automatic display and window manager.

The test suite now automatically creates a display and a window manager
for running the tests if running locally.
JSDOC3_DEFAULT_TEMPLATE fix.

Changed the order of the test so that running make *can* install
jsdoc. The old order make make fail right away if the npm package for
jsdoc was not installed.
Added a dependency so that npms are installed.
Update for newer roma2 version.
Reordered configs, allow | in TEST_BROWSER.

The configs are now in the order in which they should be executed. The
`|` symbol is now allowed to separate parts in the `TEST_BROWSER` env
variable to satisfy jenkins.
Disable session manager with openbox.
Ping the server before moving on.

The ensures the server is running and responding before we start the
tests.
Fixes to the node_modules creation and cleanup.
Newer versions for Chrome.
Work around a selenium bug.
Validator fixes when dealing with attributes.

``_validateUpTo`` and ``_getWalkerAt`` had bugs preventing them from
working properly on a top level element.

There was another bug which prevented some calls to ``_validateUpTo`` from
working properly if ``attributes`` was true.
More logging on unhandled exceptions.
Select a port that Sauce Connect will accept.

Added logic to select a port that Sauce Connect will accept for
forwarding.
Added dump_selenium_configs for Jenkins.
Version bump.
Merge branch 'release/0.20.1'