Make flash messages module more version-agnostic
Multimethod dispatch on version
* Move ver_pick to utils.version module (and rename to just 'pick')
* Add version based dispatch to flash module as example
* Add copy of distutils' LooseVersion (except a new style class) for
  version dispatch
* Add a memoized decorator
* Supersedes #786
Add is_a dispatch for LooseVersion
* List new versions in cfme.versions
Switch from copypasta'd memoize to functools32's lru_cache
Merge branch 'master' into origin-pr-786

Conflicts:
	cfme/configure/about.py
	cfme/infrastructure/pxe.py
	cfme/services/catalogs/catalog.py
	cfme/web_ui/__init__.py
	cfme/web_ui/flash.py
	cfme/web_ui/tabstrip.py
Merge branch 'master' into origin-pr-786

Conflicts:
	cfme/fixtures/pytest_selenium.py
Fix bad merge conflict resolution
base_url is now set properly in the subprocess worker

parallelized runs were all using the same appliance. woops. :)
Various updates & fixes

add checking for existing image for rhos

fix vsphere template check

fix rhevm locked template

update rhevm cleanup, delete ova files

indent

remove wait for deleted VM
Fixed nested namespace tests
Do not mess up tests when events disabled
Merge pull request #838 from psav/fix_nested

Fixed nested namespace tests
Add BZ issue links to tests
Merge pull request #840 from jkrocil/add-bz-links

Add BZ issue links to tests
Merge pull request #839 from mfalesni/donotsetupeventswhenwedonotwantto

Do not mess up tests when events disabled
Merge pull request #835 from apagac/template_updates

Template upload: various updates & fixes
Fix BZ comment
Merge pull request #841 from jkrocil/bz-comment-fix

Fix BZ comment
SNMP listener
--collect-only works with parallelized tests

Added a new slave event: message. Accepts a message kwarg and
routes the message through the dist reporter including node id