DB Peeking speed up

Multiple changes here:
* Made cloud follow the STATS_TO_MATCH model from infrastructure
* Added in addition to UI based calls, added DB based calls for the
  following methods for providers; validate(), num_*() and
  _do_stats_match.
* get_server_roles, which is used in the server_roles fixture now has a
  DB companion, this uses the same logic as CFME to determine which
  roles are present in the UI.
* set_server_roles was modified to only navigate if the roles do not
  match, subsequently the entire fixture can be run without touching the
  UI assuming that the roles match.
* IPAppliance object now also has access to the server_configuration
  which is also cached and needs to be invalidated if any changes are
  made to the server configuration.
* PXE module received DB methods for many of its class exists() methods.
* By default all getters which have DB getting enabled, use DB by
  default and so certain tests have been modified to *NOT* use the DB if
  the intention of the test is to test the UI elements.