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 function 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