MultiLogger becomes ArtifactorLoggerAdapter

Trying to do normal things with utils.log.logger, I discovered that it was
not actually a logger, nor did it pretend to be. As a result, I replaced
utils.log.logger with a LoggerAdapter instance, which implements (albeit
verbosely) the entire public logger interface (probably... :D) while still
doing its job of passing log messages back to the artifactor via fire_hook.
soft_assert uses utils.log's nth_frame_info
Minor changes to the cache clear
Merge pull request #1052 from psav/nasty_context

Minor changes to the cache clear
Added snapshot code
Merge pull request #931 from akarol/snapshot-new

Added snapshot code
Merge pull request #1039 from seandst/art-logging-adapter

MultiLogger becomes ArtifactorLoggerAdapter
latest_template can now be aimed at a specific provider
Merge branch 'trackerbot'
boto intersphinx, intersphinx inventory spelunker
Fix Sanitizer
Merge pull request #1055 from psav/fix_sanitizer

Fix Sanitizer
Merge pull request #1054 from seandst/boto-intersphinx

boto intersphinx, intersphinx inventory spelunker
Added more permissions tests

1. Test for vm power on permission
2. Test for vm provisioning permission
3. Test for vm removal permission
4. Test that any changes to a role's permissions take effect during on the next login
5. Refactored out the quadicon locator for VMs for reusability
6. Added the convenience functions get_first_quad() to Quadicon class, and get_first_vm() to cfme/infrastructure/virtual_machines.py
7. Added get_number_of_vms() to cfme/infrastructure/virtual_machines.py
8. Refactored error message storage in test_permissions method in cfme/tests/configure/access_control to include a traceback with the error
Merge pull request #1046 from slouderm/extend_permissions_tests

Added more permissions tests
Some basic canned and custom tests
Tried to fix this but getting some weird errors
Lint