Implemented wait for provider functions

* Added new properties to provider detail page,
    * @cluster_count
    * @datastore_count
    * @host_count
    * @vm_count
* Added _get_provider_stats() private method to providers page for ESX
and RHEVM
* Added is_quad_icon_available() method to providers page
* Added do_stats_match() method to providers page to compare a
host_stats dictionary with the current page. Supports the ability to NOT
match VM count, as it is the most likely parameter to change
* Added wait_for_provider_or_timeout() method to providers page which
will ensure the quad icon is present, and that the core_stats
(datastores, hosts, clusters) match before returning
* Fixed hypervisor_count, vendor and valid_credentials elements in the
ProvidersQuadIconItem() class
* Made the infrastructure provider provision now wait for the provider
to match core_stats before continuing
* Added list_host(), list_datastore() and list_cluster() methods to the
VMWareSystem class
* Added list_host(), list_datastore() and list_cluster() methods to the
RHEVMSystem class
* Created new wait_for() function in the utils module, see comments in
page for more information