xenapi: refactor: move UpdateGlanceImage to common

During the review of https://review.openstack.org/41651 it was
recommended to move UpdateGlanceImage to a common library. A bug was
filed to deal with the refactors. This change fixes the first part.

Fixes bug 1220596

Change-Id: I95ae89525b7e6768c5a70364945d5a10cb906d88
xenapi: refactor: move RawTGZImage to common

During the review of https://review.openstack.org/40909 it was
requested, that the RawTGZImage class should be moved to a common
territory, so that others can re-use it later.

Fixes bug 1220596

Change-Id: I0f186c2f81edbd546c0a24d66e4b9c1626373b12
XenAPI: Add versioning for plugins

Because the plugins live on a host seperate to Nova we need an interface
to test whether they are the expected version.  We can't use pip or other
requirement systems as they are cross-machine.

Closes bug 1226622

Change-Id: I58ab669061f51bd87071e2cf0d93d33021001309
XenAPI: Fix translation of metadetails in aggregates

https://review.openstack.org/#/c/43157/ added a translation from the sqlalchemy model to
the instance object replacing metadetails with metadata.

This added more traces in general for XenAPI (when we queried whether we were using
aggregates) and actually broke the host aggregate functionality

Change-Id: I87195753931945b6e1ecf75bc81575a6fa03068e
Closes-bug: 1232179