Show correct error messages

When a ResourceFailure exception raised in heat/engine/stack.py,
the error message is not correctly printed. This patch fixes it.

Change-Id: I0636b0d14f0169117fe96df7a4360b1349f7b12d
Fix typos in comments and help strings

Change-Id: I68446dd652186191d19551032a634aee03f9e637
Use setuptools to install contrib plugins

This change creates a pbr setup.cfg and specifies a data_files
entry to install the contrib plugin source into the /usr/lib/heat
plugin directory.

This change also temporarily disables docs building for contrib
resoures until the transition to stevedore is fully complete.

Change-Id: I1c91aee20f72dc2a5a049e67de1d6d7cbabda241
Port rackspace clients to client plugins

This change converts the rackspace client code to be contributed
via client plugins. This is the last change required for all in-tree
clients to be contributed via plugins.

A RackspaceTest base class which adds the rackspace directory
to the client plugins path which ensures any rackspace variants
are loaded. Plugin loading precedence is used to ensure rackspace
versions will override core plugins with the same name.

The nova plugin will fallback to returning the core nova client
so that CloudServersTest will run even when pyrax is not installed.

The cloud_backed configuration option will no longer have any effect
on whether rackspace clients will be loaded. Instead they will be loaded
by stevedore via the setup.cfg heat.clients entry point.

Change-Id: I312de40064cc00896dba1835117ff67003e57938
Implement marconi client plugin

This moves the client creation code out of a Clients subclass into
its own client plugin.

The base package has been renamed to heat_marconi since stevedore
is used for client plugin loading and the base package will be
installed by setuptools, the package marconi might clash with
the actual marconi project.

Change-Id: Ie824d961fcfa9dafd72cc40ccf207d1c1e0501ad
Implement barbican client plugin

This moves the client creation code out of a Clients subclass into
its own client plugin.

Barbican is not an integrated project so the plugin is not registered
if barbicanclient cannot be imported.

The code which prevented client errors in _resolve_attribute from being raised
has been removed. This will prevent invalid attribute values from being
memoized.

The base package has been renamed to heat_barbican since stevedore
is used for client plugin loading and the base package will be
installed by setuptools, the package barbican might clash with
the actual Barbican project.

Change-Id: I5788fb4618fef0d1c3e39cc98094bb2813e842c5
Merge "Fix typos in comments and help strings"
Merge "Show correct error messages"