Implement swift client plugin

This moves the client creation code out of Clients._swift() into
its own client plugin.

Importing swiftclient exceptions from the plugin is an interim
solution until the client plugin mechanism provides a way of
handling client-specific extensions.

Swift is a core project, and python-swiftclient is a dependency,
so the import is now mandatory.

Change-Id: Ib2cff83096639855eaa1e05febbb4b490edd6250
Implement glance client plugin

This moves the client creation code out of Clients._glance() into
its own client plugin.

Glance is a core project, and python-glanceclient is a dependency,
so the import is now mandatory.

Change-Id: If61f2510344bf67b7e9aded1dc9d9cedf2426228
Implement neutron client plugin

This moves the client creation code out of Clients._neutron() into
its own client plugin.

Neutron is an integrated project, and python-neutronclient is a dependency,
so the import is now mandatory. Also any conditional code which skipped
if the neutron client was missing has been removed, since the presense or
absense of an installed neutronclient has no bearing on whether neutron
is installed on a given cloud.

Change-Id: Id9fdc50e80efe78731e21934ed9f2704cc3eb408
Remove unused 'VERSIONS' definition

After making template formats pluggable in patch
5709e08f33406cdd40b0b4e6fbd7fd2b8008976e, the 'VERSIONS' is
unused in /hot/template.py, we should remove it.

Change-Id: Icfdc0ccd7159bd521d9fa1f5e62a8a757e12bbe7
Fix several misspells

Change-Id: I5bdac6ace595eb1ad67e8c3ab8ee34cd986ff167
Don't overwrite deployments metadata in Server resource

Currently, when metadata_update is called and local metadata has been
added for software deployments (e.g stuff not defined in the template)
we will silently discard the non-template-defined stuff when calling
metadata_update.

Arguably we are abusing the metadata section by pushing arbitrary additional
data into it but since that issue has already happened, as part of the
SoftwareDeployments implementation, the simplest fix seems to be to merge
the current and template re-resolved state of the metadata.

Change-Id: Id68d11b584734fbb828aabaca6cc75aab0f4ee4c
Closes-Bug: #1337772
Removed redundant code in stack preview, create.

The operations performed for stack preview is a proper subset of
those performed for stack create, but the code is repeated.
Avoided the redundancy by creating a method and having it called
from preview_stack and create_stack methods.

Change-Id: I53d9f10913fcb49aa3fdb841b1fc893b8e401e4d
Closes-Bug: #1337718
Fixing a typo

Just a simple fix for a typo in a comment.

Change-Id: Ie5c165b3775601680b28d0e85fee8e4082735ffe
Merge "Implement swift client plugin"
Merge "Fix several misspells"
Merge "Fixing a typo"
Merge "Removed redundant code in stack preview, create."
Merge "Implement glance client plugin"
Merge "Implement neutron client plugin"