created VMWare/RHEVM api abstraction layer

# This is a combination of 8 commits.
   # The first commit's message is:
   initial revision for VMWare/RHEVM api work

   # This is the 2nd commit message:

   added class level comments
   added list_vm() to rhevm

   # This is the 3rd commit message:

   added start_vm and stop_vm for RHEVM
   added docstrings for start_vm and stop_vm in base class
   added destructor in RHEVMSystem.py

   # This is the 4th commit message:

   added implementation for stop_vm(), restart_vm(), delete_vm() for RHEVMSystem
   added docstrings for stop_vm(), info(), create_vm(), restart_vm(), delete_vm()

   # This is the 5th commit message:

   filled in start_vm/stop_vm/restart_vm/list_vm/delete_vm for VMWareSystem
   minor tweaks to RHEVM exception msg

   # This is the 6th commit message:

   removed __del__ and moved the content to disconnect()
   reason for this change is that a segmentation fault results from RHEVMSystem() when self.api.disconnect() is called in the destructor

   # This is the 7th commit message:

   oops forgot to put the right call back to constructor

   # This is the 8th commit message:

   pylint cleanup
   merge files together to form one cohesive module