cleanup after boto 2.14 fix

we had a fix that worked fine in the gate, but this was a good
suggestion of a cleaner version. Fixing now while everyone is still
fresh on this.

Change-Id: Id88f3532fe8096c4f7322c683faeaf20bfb431bc
Make aggregate methods use new-world objects

This makes the add_aggregate_host() and remove_aggregate_host()
methods on compute manager use new-world objects. It introduces
a new compatibility decorator since object_compat() is specifically
tailored to instance methods, which makes sharing it really
complex and ugly.

Note that we still convert the aggregates back to primitive form
before passing to the drivers, which will be removed once we teach
the drivers to use/take aggregate objects directly (coming next).

Related to blueprint compute-manager-objects

Change-Id: I241876b6b2ebdb2313e472c043fcc73c6ddd0e1a
Merge "cleanup after boto 2.14 fix"
Merge "Make aggregate methods use new-world objects"
xenapi: post install scriptlet to rpm

A freshly installed XenServer requires some modifications in order to be
able to run OpenStack. Nova contains an rpm specification to create a
package with the dom0 plugins, however installing the rpm is not enough.
Some more actions need to be taken:
 - create /images, link to a directory within the local SR
 - setup an ssh keypair, and authenticate it with the host
This change adds a post script to the nova plugins rpm spec file, so
by installing the rpm on a XenServer, it is ready to run OpenStack, no
further manual actions needed.

Change-Id: Id57e3a3ab2782550468c6aa4c01059ceb7cc81ab