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.