Refactor the PBM support

Having a Pbm class that inherits from Vim is a design mistake that we
need to fix before start using Pbm features in other projects like Nova.

This patch introduces a new base class 'Service' which provides common
functionality for invoking vSphere APIs and both Vim and Pbm inherit
from it. That will allow to further evolve our APIs and add features
which are specific to only Vim or Pbm.

Existing clients which use the Vim object through VMwareAPISession are
not impacted by this change. The interface of VMwareAPISession is
unchanged.

Change-Id: Icf54e3d0305b30c73d0ff7d9c85da1893392c3aa