Implemented test_cloud_instance_discovery.py

1. Added cfme/test/cloud/test_cloud_instance_discovery.py, which is based on cfme/tests/infrastructure/test_vm_discovery.py

2. Added _load_details() to the Provider class in cfme/cloud/provider.py

3. Added a try/catch around call to is_vm_suspended() in Vm.delete_from_provider() for cases where the provider doesn't support returning Vm status (EC2)

4. Paginator.find() now raises an error if the element is not found

5. Misc. small bug fixes and improvements
Failing silently is going to cause a lot of head scratching.  "delete_from_provider worked, but the vm is still there?  I don't get it!"

This was fine the way it was, IMO.  The method lets the caller know that he can't delete the vm by raising an exception.  That's the correct behavior, the caller can catch the exception if he wants to ignore the errror.