dockertest.output: Enhance TextTable string parsing

*  Previously, it was hard coded to parse the table
   header and data via str.splitlines().  However,
   this does not allow easy subclass extension.

*  Split init string parsing into two overrideable
   methods, ``parseheader()`` and ``parserows()``.
   These may be overridden by subclasses to
   control basic-level interpretation of
   the ``table`` string parameter to ``__init__()``.

Signed-off-by: Chris Evich <cevich@redhat.com>
dockertest: Add table-parsing unittest for special case

Signed-off-by: Chris Evich <cevich@redhat.com>
Dockertest Version 0.7.1 (API Changes)

Signed-off-by: Chris Evich <cevich@redhat.com>
dockertest.subtest: Improve the (sub)test log output

This patch gets rid of standard autotest logging and uses the python
logging functions instead (as it's usual in autotest tests itself!).

Each line is prepended with 2 tabs in order to improve readability of
the text. Additionally duplicite messages were removed and the SubSubtest
log lines updated. Each SubSubtest line starts with additional 2 spaces.
Using another \t seemed waist of lines as each SubSubtest is introduced
with RUNNING: message.

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
dockertest.dockercmd: Add verbose flag

This patch makes possible to set the verbose flag for underlying utils.run

Signed-off-by: Lukáš Doktor <ldoktor@redhat.com>
dockertest: images/container modules parse update

*  Current tabular output parsers separate columns
   based on number of whitespace.  This fails
   if any table content contains multiple spaces.

*  Replace whitespace-sensitive parser with generic
   parser based on column name spacing, from
   output module.

*  DockerContainer.ports defined as always being a string
   but default param allows it to be set to None.  Fix
   this inside __init__ so it's assigned an empty string
   if a None parameter is received.

*  Several methods were calling ``get_container_list()``
   and assuming it was always a python-list.  However
   it's long-since been documented as "implementation-specific".
   Fix them to call self.list_containers() instead.

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