Instead of having the program sys.exit when a docker
client object can not be created (which kills all the threads
and messes up the program and its associated state) have a
exception be raised when this (for whatever reason) fails.
Also refactor so that there is a docker task that the docker
client using tasks can all inherit from.
TrivalFix
Change-Id: Ie81aff10cfe6f2fc5c65d53402200e3928fb460c