Event testing now correctly fails the tests
Make host analysis use testgen

Add hosts credentials removal
update pgsql connections
Riggerlib 1.1.1 update

Adds background queues
Adds TCP server
fix power control provider setup
Initial copypasta from xdist
LINT. DEAR GOD SO MUCH LINT.
Remove randomness from collected test nodeids
Runtime config overrides & related tests
TerminalReporter wrapper that (sorta) works before pytest creates the plugin
"Sublogger" adapter, to easily prepend log messages with a common string
Parallelizer needs to be a package, so we can stash remote somewhere
Parallelized testing framework

Based on pytest-xdist. xdist needed some modifications, which will
eventually be submitted as a pull request there so we can nuke
most of this and use xdist instead.

Specify multiple appliances via multiple --appliance command-line options,
passing a different base_url to each. The test suite modules will be split
among the child processes (and thus appliances) by test module.
quadicon locate always returns anchor

We had two locators for quadicons:
- '9.9.9.9': "//div[@id='quadicon']/../../..//a[@title='%s']" % self._name,
- 'default': "//div[@id='quadicon' and ../../..//a[@title='%s']]" % self._name

9.9.9.9 returns the anchor element, default returns div#quadicon.

My 5.2.3 appliance was breaking because it was getting the div back, and
doing sel.click on the quadicon div wasn't triggering navigation to the
quadicon div's anchor href. The anchor found by the 9.9.9.9 locator is broken
on downstream, but the div anchor seems solid on both.
Rails exception detection
Change v9.9.9.9 to v5.3 in ver_pick calls
Fixed automate namespace tests
move_to_element improving
Select doesn't wrap other Selects

Moves deferred Select type into pytest_selenium

We were using the selenium Select class in pytest_selenium, but one of the
main goals of that plugin is to be able to instantiate locators without having
a browser open. Therefore, our Select had to move from web_ui to pytest_selenium.

See Select's __init__ method in the before/after for the differences in handling
`self._loc`
Minor tweak to uncollect output

The previous method doesn't look right in all situations,
particularly parallelized testing