Add support for running Docker containers

As part of this I created a common super-class used by the now 2 gradle
tasks.

Added tests (though testing of the run command is non-existant, still
figuring that one out)

Fixes to build files post rebase

Expand tests and fix a couple of issues found

WIP - fix relating to run with volumes

Move to released docker-java code and some formatting tweaks

Fixed 2 bugs found on Linux

More fixes to the native client

The image name (aka "tag") needs to be the last element of the command
line.

The separator for most of the key value arguments is a ':', though for env
we need an '='.

Complete previous fix.
Merge pull request #27 from YouTechnology/smf-add-runtask

Implement a Docker "run" task.

This adds the ability to perform a Docker "run" via a second task type. As part of this I refactored code common to both the existing build task and the new run task into an abstract base class.

Note that not all run options are supported at this point, just the ones I needed ;). More can be added later (within the constraints of the docker-java API).