Renamed classes in ssh module

* Pushed all classes down a layer to make room for the true
  SSHBehaviors class

Change-Id: Idf8bba6f1c50d12a8eb42aa81e6f5bb5582f4bd3
Adding a basic specter runner

Change-Id: I55434e6c1a6be69d615833001077b8c5076492d1
Merge "Renamed classes in ssh module"
Fixed issue where modules with duplicate class names cause
duplicate test runs.

Change-Id: I14df97dc4050301aee5200b917001159893e9a18
Adds "result" field to JSON results

Change-Id: I505042f5a251c44e5858c320499b8b36d9291a6e
Merge "Taking a first stab at an rsyslog client"
Merge "Expanding the functionality of the ES client a bit"
Merge "Making the index in constructor optional"
Unittest runner refactor and cleanup

* Removed code that has previously been reimplemented in the
  configurator managers.
* Moved all argparse argument post-processing logic from various
  methods to argument-specific argparse Action classes.
* Unittest Runner uses the TestEnvManager now.
* Removed old unittest-runner-specific test env manager
* TestEnvManager now sets defaults only on access.
* TestEnvManager now only sets OS env vars when finalize() is
  called.
* Made --result and --result-directory arguments mutually
  dependent.
* Fixed support for use of ~ in engine.config paths

Change-Id: If94e081677a2ef55dad6ec36cd6d8038436d3f30
Adds property to XML_ToolsMixin that returns XML Header

* cafe/engine/models/base.py -- Added constants _XML_VERSION & _ENCODING with defaults of '1.0' & 'UTF-8' respectively
* cafe/engine/models/base.py -- Added property method xml_header which returns a formatted string to match the xml declaration header based on _XML_VERSION & _ENCODING

Change-Id: Id1a65c8d9ab8533c9205d3ba2d2c559f189d1891
Memoizing decorator (memoized) for data driven tests.

* Implements memoized deorator to add cacheing and logging to
  classmethods that are called outside of the scope of the base
  test fixture (such as DatasetListGenerators).
* Prevents decorated methods from making multiple redundant
  api calls via caching (memoization).
* Prevents 'log handler not found' messages by adding handler to
  root logger for duration of decorated method to properly log those
  messages (for when those calls are made before logging is
  initialized).

Change-Id: Ia7d3a74a38b7193748fe91ff51c1a0a73e4b3ca5
Merge "Memoizing decorator (memoized) for data driven tests."
Merge "Adds "result" field to JSON results"
Merge "Adding a basic specter runner"
DBAPI 2.0 SQL Client

* Defines an extendable DBAPI 2.0 SQL Client
* For more information on the DBAPI 2.0 standard please visit:
*     http://www.python.org/dev/peps/pep-0249
*
* BaseSQLClient:
*     Current methods:
*         connect
*         execute
*         execute_many
*         close
*
* SQLClientException

Change-Id: I872f73d7b693d3a5e301886f084d1d7df56be885
Merge "DBAPI 2.0 SQL Client"
Changed logic of executes & fixed name of parameters being called in connect

* Removed using keyword names in call to _driver.connect() in favor of passing by the order
*     specified in PEP-249 standards. This still follows standards and avoids overwriting
*     the connect function inside of clients where the driver did not implement the naming
*     structure of the PEP-249 standard correctly.
*
* Changed logic in execute & execute_many to return proper cursor objects

Change-Id: If61c00ad34b8bea9012e20bb0ee50f733155735b
commandline client bug fix

* Allows command line client to send requests when run_command is
  called and base_command is not set in __init__
* Changes CommandLineResponse to inherit from BaseModel to enable
  logging.

Change-Id: Ie94402d188a3f0d94cd382aaa582d479fbec9f19
Logging related changes in memoized decorator

* Ignore exception when logging caller
* Don't log cached data (could cause problems if data is very
  large or is unexpectedly encoded.)

Change-Id: I9b031a2a1743eee5707471e154420259c9a8d38d
Merge "Changed logic of executes & fixed name of parameters being called in connect"