restapi: add /disks sub-collection to /storagedomain resource

- This patch is preparation for the NetApp external cloning integration support,
added new /disks sub-collections under /storagedomain & dataceneter/storagedomain,
new URIs are:

/api/storagedomains/{storagedomain:id}/disks|rel=get
/api/storagedomains/{storagedomain:id}/disks/{disk:id}|rel=get
/api/storagedomains/{storagedomain:id}/disks/{disk:id}|rel=delete
/api/storagedomains/{storagedomain:id}/disks|rel=add

/api/datacenters/{datacenter:id}/storagedomains/{storagedomain:id}/disks|rel=get
/api/datacenters/{datacenter:id}/storagedomains/{storagedomain:id}/disks/{disk:id}|rel=get
/api/datacenters/{datacenter:id}/storagedomains/{storagedomain:id}/disks/{disk:id}|rel=delete
/api/datacenters/{datacenter:id}/storagedomains/{storagedomain:id}/disks|rel=add

- 'scan' for yet imported disks will be performed via [1], NetApp will implement /import
action on the disk.

[1]
/api/storagedomains/{storagedomain:id}/disks;unregistered|rel=get
/api/datacenters/{datacenter:id}/storagedomains/{storagedomain:id}/disks;unregistered|rel=get

Change-Id: If6c18e5b28e81f13b44e9431efd623a5627379a1
Signed-off-by: Michael Pasternak <mpastern@redhat.com>
core: Added RegisterDiskCommand and GetUnregisteredDisksQuery

I am working on a plugin for NetApp storage systems that will
use its cloning capabilities to clone disks outside of oVirt.
This new query and command will allow us to discover and register
those disks in oVirt so that we can attach them to copies of the
original VM.

This change set adds a new VDS command, GetVolumesList that
already existed in the VDSM API but was not exposed in oVirt.

The functionality to query for new disk images uses a new
GetUnregisteredDisks query. This returns the list of unregistered
images. The GetVolumesList and GetImageInfo VDS commands are used to
populate the disk images that are then added to the oVirt DB
through the new RegisterDiskCommand.

There are some assumptions made in that images that contain
snapshots will not be imported as we don't have the associated
snapshot metadata. Also, this is only supported on NFS storage
domains.

When querying to find the storage pool associated with the
storage domain, I found that it returned a list of storage
pools. I am assuming that an NFS based storage domain would
only belong to a single storage pool and thus I took the first
item in the list. If this assumption is unfounded please note
in the review.

This change also implements the GET and POST methods for the
REST /api/storagedomains/{storagedomain:id}/disks;unregistered
resource. These depend on the new RegisterDiskCommand and
GetUnregisteredDisksQuery.

Change-Id: I82de498fd9a8e25ed9e1dc5776f2fdf0c35b46da
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=886133
Signed-off-by: Chris Morrissey <cmorriss@netapp.com>