Better support for multiple commands

This changes the 'commands' YAML portion to be an array. E.g.:

commands:
  - ls
  - ps
  - echo 'Have you tried turning it off and on again?'

Docker doesn't really support issuing multiple commands to a container
on the command line very well. You have to either munge it with something
like:

    sh -c 'ls && ps'

or place all of the commands to execute into a master script, then execute
that script.

This change proposes the second option and creates a master script if the
number of commands is more than one.

The master script file will be created in a .dox subdirectory of the
current directory, and named master_script.sh. Right now, it is created
as a Bourne shell script. We could easily add support later for different
shells.

If the -c option is used, then the command specified is the only command
that will run.

If -c is NOT used, but extra arguments are supplied, these extra arguments
will be used to replace the {posargs} placeholders in tox.ini files. The
extra args are not currently used elsewhere.

This change REMOVES the ability to add extra_args to the end of the
command when {posargs} is NOT present. That does not make sense in
a multi-command situation.

Change-Id: I78dbc0613f5db22cea0ed714f5f30ef0207fac24