This commit adds a new base test class for the cli testing framework.
This differs from the previous version in the tempest repo because it
uses an abstract method to initialize the client object. While in
tempest this was done inside the test class itself and leveraged the
config object.
Since the config object is being decoupled from the library defining
the test class this way allows any child test class to use whatever
credentials and previous config options directly in setup.