Fix bugs related to assumptions about smartctl output format
Changes to address Daniel's and Zygmunt's comments
Addressed more of Zygmunt's comments
"automatic merge by tarmac [r=zkrynicki][bug=1376449][author=rodsmith]"
plainbox:commands:checkbox: split into cmd+inv

This patch splits the 'checkbox.py' module into two new modules, cmd_checkbox
and inv_checkbox. During plainbox startup only the cmd_checkbox module needs to
be imported and it has minimal requirements so very little overall code needs
to be loaded.

When any commands that actually needs to use the base 'checkbox' functionality
is executed then the inv_checkbox module is imported, bringing in all of the
additional modules it requires.

Tests are adjusted to use the appropriate new module instead, as are the
'checkbox sru', 'checkbox cli' and the 'plainbox run' commands.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:commands:run: split into cmd+inv

This patch splits the 'run.py' module into two new modules, cmd_run and
inv_run. During plainbox startup only the cmd_run module needs to be
imported and it has minimal requirements so very little overall code
needs to be loaded.

When the run command is actually executed then the inv_run module is
imported, bringing in all of the additional modules it requires.

Tests are adjusted to use the appropriate new module instead, as is the
'checkbox cli' command.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:commands:analyze: split into cmd+inv

This patch splits the 'analyze.py' module into two new modules, cmd_analyze and
inv_analyze. During plainbox startup only the cmd_analyze module needs to be
imported and it has minimal requirements so very little overall code needs to
be loaded.

When the analyze command is actually executed then the inv_analyze module is
imported, bringing in all of the additional modules it requires.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:commands:script: split into cmd+inv

This patch splits the 'script.py' module into two new modules, cmd_script and
inv_script. During plainbox startup only the cmd_script module needs to be
imported and it has minimal requirements so very little overall code needs to
be loaded.

When the script command is actually executed then the inv_script module is
imported, bringing in all of the additional modules it requires.

Tests are adjusted to use the appropriate new module instead

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:commands:session: split into cmd+inv

This patch splits the 'session.py' module into two new modules,
cmd_session and inv_session. During plainbox startup only the
cmd_session module needs to be imported and it has minimal requirements
so very little overall code needs to be loaded.

When the session command is actually executed then the inv_session
module is imported, bringing in all of the additional modules it
requires.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:commands:device: fix PEP-8 issues

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:commands:device: improve output for for odd systems

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
travis.yml: test on python3.4

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>