Be smarter about what to do when making a docker client
Be smarter about what to do when making a docker client

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

rahulunair/kolla,rahulunair/kolla,mandre/kolla,coolsvap/kolla,nihilifer/kolla,mandre/kolla,nihilifer/kolla,mrangana/kolla,coolsvap/kolla,GalenMa/kolla,GalenMa/kolla,openstack/kolla,intel-onp/kolla,stackforge/kolla,stackforge/kolla,mrangana/kolla,dardelean/kolla-ansible,dardelean/kolla-ansible,dardelean/kolla-ansible,stackforge/kolla,coolsvap/kolla,openstack/kolla,intel-onp/kolla,mandre/kolla