Sanitize append of '/api' to oVirt URI

"/api" should not be part of the base oVirt REST URL, but is the
REST function which is used to access the OvirtApi entry point. The
current code expects an URI ending in /api, and then strips it from the
URI in various places.
This commit cleans this up by making sure the base URI does not include
"/api" and by adding it in appropriate places. It also automatically
appends https:// to the give host.
Strip https:// from domain when setting cookie

libsoup cookie code expects a domain without a scheme.
Fix crash on failure to parse response to an action

When a REST action fails with a 404 HTTP error (for example), the
document we get back is not an XML document. Trying to parse it will
return a NULL root node. If we don't return early in such a situation,
we'll get a crash trying to dereference it later on.
Tweak use of OvirtResourceRestCall for !PUT requests

It's more appropriate to use this when doing a GET on a resource or
collection rather than using OvirtActionRestCall. However, unless we are
doing a PUT, we don't need to send a serialized version of the object we
are handling.
resource: Add helper to create action REST calls
Use ovirt_rest_call_new in ovirt_proxy_get_collection_xml

It makes more sense to use an OvirtResourceResCall than an
OvirtActionRestCall there.
Return XML data from ovirt_resource_rest_call()

In order to implement ovirt_resource_refresh(), we will need the XML
data to parse rather than just a boolean indicating if the call was
successful or not.
Implement ovirt_resource_refresh{_async}

Calling these functions will refetch the XML corresponding to the
current resource and reparse it. This will sync the local OVirtResource
state with the remote state.
Deprecate ovirt_vm_refresh_async()

This is now just calling directly ovirt_resource_refresh_async()
Fix leak in ovirt_cdrom_refresh_from_xml()

The filename was leaked if it was already set before the refresh.
Emit 'notify' signal when cdrom filename changes
Add OvirtResource::add_rest_params

This virtual method (wrapped by ovirt_resource_add_rest_params) is used
by OvirtResourceRestCall to let classes deriving from OvirtResource add
some class-specific arguments to the OvirtResourceRestCall that is going
to be run.

This will be used by OvirtCdrom to append a ";current" to the request it
makes in order to only manage the current cdrom image, not the one which
was set at boot time.
Add ovirt_cdrom_add_rest_params()

At the moment this unconditionnally set ;current on the
OvirtResourceRestCalls made on an OvirtCdrom resource. Ideally
the library user would be able to choose whether to manage the current
or boot-time cdrom image. When this is possible, ovirt_cdrom_update()
will be obsolete and can be replaced by the generic
ovirt_resource_update().
Add new storage type added in oVirt 3.4
Fix return value of ovirt_rest_call_finish()

In some cases (when the caller did not provide an additional callback
to be called on completion of the async operation),
ovirt_rest_call_finish() would return FALSE even though the async call
was successful. This could be hit when using the async version of
ovirt_cdrom_update_async() for example.