image: add support to upload/download images

This patch adds the support for uploading and downloading images using
different methods. Added API:

 uploadImage(methodArgs, spUUID, sdUUID, imgUUID, volUUID=None)

 downloadImage(methodArgs, spUUID, sdUUID, imgUUID, volUUID=None)

Argument methodArgs elects the method used for uploading or downloading
the image and provides the required additional information needed to
reach the receiving/sending endpoint.
Arguments spUUID, sdUUID, imgUUID identify an image and the optional
volUUID option could identify a specific volume in the chain (the leaf
is used by default).

This patch also adds the implementation of the 'http' method used to
download/upload images from/to web servers or any other http service
(e.g. openstack glance).

 info = {
   'method': 'http',
   'url': 'http://source-or-destination/path/to/image',
   'headers': {'X-My-Header', 'MyHeaderValue'},
 }

Change-Id: Ib208bb20d88633167b5c66b42febe912439a022d
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/14955
Reviewed-by: Ayal Baron <abaron@redhat.com>