Adding configdrive to xenapi.

This version implements a configdrive v2 for xenapi as discussed
in the xenapi IRC meetings.

 - the config drive is now iso9660
 - the admin password is injected (if we know it)
 - vbd's are not reused
 - review comments have been addressed

Progresses blueprint xenapi-config-drive. DocImpact.

(Dear documentation people, if using config drive with xenapi,
the user should consider disabling the agent as well with
xenapi_disable_agent. This mostly depends on if they want to
support post-boot password updates still.)

Change-Id: Ib23d117ad4cd5dc92298a0812eb468f7d557417c
Skip domains on libvirt errors in get_vcpu_used()

This commit is to avoid a race condition between deletes
and creates. It is possible for a delete to remove a domain
from the list returned by _conn.listDomainsID() while
get_vcpu_used() is looping over the list. If this happens
libVirt raises a LibVirtError and sets the instance to the
ERROR state. To avoid this LibVirtError is caught and the loop
continues instead of raising the exception.

Change-Id: I3206142e36726936013bb27ccd4359de4f94b3a3
Merge "Adding configdrive to xenapi."
Merge "Skip domains on libvirt errors in get_vcpu_used()"