Docker: Add docker test harness v0.0.1

Control file searches down subtest module(s) and executes any
test.test subclasses via the steps engine.  This is because
there may be situations or tests which require rebooting
the test client.  The steps engine stores harness state
across reboots.  It then allows resumption of testing
with --continue option to the autotest client.

When running via autotest/autotest client, all subtests
are executed by default.  A custom list of subtests may
be provided via ``-a, --args`` in the form of subtest
module names as a CSV string.

Within submodule scope, any modules within the 'lib'
directory are made available in the 'docker' namespace.
This was done due to possible namespace clash when
autotest processes the 'docker' test name or if
``--args docker`` is used (for some reason).

Configuration processing is handled by the
``docker.config.Config`` class.  It uses the builtin
ConfigParser to load sections from all files under the
``config.d`` subdirectory.  Each section will be
supplimented (or may override) any options defined
in the ``defaults.ini`` file [DEFAULTS] section.

Instances of the ``Config`` class are regular python
dictionaries copied from an internal cache.
The dictionary keys are the section names, and values
are regular python dictionaries containing the
options key/value items for that section.  Modifications
is allowed, however they will remain local to the copy.

To support private configurations, version checking
is supported via the ``version`` module.  The helper
function ``check_version`` errors any test if the
'config_version' key from the test config section
is less-than the version encoded in the library module.
It is up to the user to make sure their config is modern.

Signed-off-by: Chris Evich <cevich@redhat.com>
Docker: Add simple docker version subtest

Signed-off-by: Chris Evich <cevich@redhat.com>
Docker: Add simple docker help subtest

Signed-off-by: Chris Evich <cevich@redhat.com>
Docker: Add build test

Signed-off-by: Chris Evich <cevich@redhat.com>
Docker: Add import subtest

Signed-off-by: Chris Evich <cevich@redhat.com>
Docker: Add documentation

*  A README.rst file including warning & link to main documentation
   This is only needed because github displays it by default.
*  A index.rst file with everything included in one place to make
   searching easier.
*  Sphinx conf.py and Makefile to support building local
   copies of documentation using.
*  Added check before each test that documentation
   and API api versions match.  Subtest modules
   already verify configuration and API versions
   match.

Signed-off-by: Chris Evich <cevich@redhat.com>