Implemented push

Made several classes used for image pull more generic so they could be
used for push as well. For example, ImagePull has been renamed to
ImageTransfer.
s/StatusMessageHandler/ProgressHandler/