[WIP] Cloud port, infra refactor and various updates all over the place

Refactor infra VM and provider objs
Add set_name to EC2System
Fix utils.virtual_machines to provision instances as welů
Add cfme.cloud.instance nav and Instance obj based on VM obj
Add power control tests for EC2 and OpenStack

It still needs to be properly tested and the current cloud tests have to be ported to work with this.

I'm also heavily considering splitting this into multiple PRs because it's a mess as you can see.

__This is still WIP but any suggestions are very welcome__!
Alright, so... An alternative I can see is to remove abc, leave NotImplementedError exceptions in the methods, add type() check into __init__ - that ok?