Modified the server_roles test to be more flexible
smyers's suggestions
Rewrote delete providers to use UI
Merge pull request #500 from psav/validate_robust

Rewrote delete providers to use UI
fixes for vm_analysis

* add pytest.mark.usefixtures("browser" to get screenshots
* fix for stale element exception when first checking if scan option is
available
Merge pull request #502 from dajohnso/fix_vm_analysis

fixes for vm_analysis
disable vm_fleece event_register
Merge pull request #505 from dajohnso/fix_vm_analysis

disable vm_fleece event_register
Change from singledispatch lib to multimethods
* Also update all references to singledispatch
* Fix cfme.web_ui.fill to do proper multidispatch
Convert `utils.error` to use multidispatch
Merge pull request #506 from seandst/multimethods

Multimethods
Added new DHTML select element
Removed capturing output of the listener, disabled debug mode on listener, changed .kill to sending sigint
Merge pull request #507 from mfalesni/listener_stall_fix

Listener stall fix
Validate providers after creating all providers

* Speeds up setup_providers a bit by using the optimization used in
  clear_providers: All providers are added first, then validated. This
  buys a little time for the first provider that was added to get started
  on its collection
* I tried to keep the setup functionality separate, but gave up.
validate/_do_stats_match are more opportunitic and less verbose

* validate runs _do_stats_match before initiating a refresh in case the stats
  are already matched
* _do_stats_match logging tweaked a little bit; the debug statements that were
  removed were distracting, but the actual stats match log line got promoted
  to INFO.
s/browser/sel/

`pytest_selenium == pytest.sel == sel`
Merge pull request #503 from psav/dhtml_select

Added new DHTML select element
Added observed field back in
Merge pull request #509 from psav/fix_jenkins

Added observed field back in