Use region for cinder management uri

Make the cinder client region-aware since Rackspace supports
more that one and needs to know in which region to deploy
volumes.

Closes-Bug: #1268706
Change-Id: Ibf7cf4fbabd1e11f798423b9ad2698e43cd46687
Refactor heat gate testing contrib support

The existing code is running tests twice, one for heat, one for
contrib via adding two commands in tox.

This breaked tox single run. For example:

  tox -e py27 -- heat.tests.test_software_config

Except heat.tests.test_software_config is executed, all test cases in
contrib will be executed also.

The patch added contrib in discover list, which can make sure both
contrib in heat gate testing and does not break single test run.

Change-Id: I014d7b95c64287e1fd04a0ba69fce0de554a9a08
Fix adding heat_stack_user role via v3 API

A regression was introduced via 301a894 because it expects
keystoneclient functionality which is not yet merged/released,
so instead of passing the name to roles.list() we must filter
the results locally to lookup the role ID.

The lack of filtering support is a general issue with the v3
keystoneclient interfaces, so when it's fixed we can remove
this workaround.

Closes-Bug: #1271190
Change-Id: I1b29cc131496e4b19493a8cd8e6d4ed913db0938
Merge "Fix adding heat_stack_user role via v3 API"
Merge "Refactor heat gate testing contrib support"
Merge "Use region for cinder management uri"
Add force_resource_mapping option

This option can be used to indicate whether a resource should be
forcefully registered.  This allows doc generation to load and gather
information about contrib resources even if dependencies are not met.

Partial-Bug: #1271226
Change-Id: I2b4c2cd35fd89a7bd0b285f3e35affa8a19a9431
Restructure Rackspace resources

During doc generation, resources have their own templates and need
to be separate from non-resource modules.  This removes the ``plugins``
folder and moves all resources into a ``resources`` folder, effectively
separating the custom Rackspace Client from custom Rackspace resources.

Partial-Bug: #1271226
Change-Id: Idbdc8400d30e2e745a2dc1b2d2fa1b7cff50d57b
Reorganize docker-plugin for consistency

Package and Module names shouldn't have dashes in them, since it makes
it harder to import them (i.e. one cannot use ``import dashed-module``).

Also, moving docker resource to under heat/engine/resources for
consistency.

Partial-Bug: #1271226
Change-Id: I785b626a99516ebe6444296cf62a78dd96355060
Allow force registration of docker resource

This makes use of the force_resource_mapping option to allow
DockerInc::Docker::Container to be registered for documentation
purposes.

Partial-Bug: #1271226
Change-Id: I3d785d92f1d30a3caf4cb0f7721c66c9dda294c3
Change Docker resource mapping name

Removing the OS:: prefix since this is not a OpenStack-provided resource

Partial-Bug: #1271226
Change-Id: I5691a08df3700f896ca1fe6efec4487d44617d6d
Generate docs for contrib plugins

Extend write_autodoc_index to take the contrib plugins into account.
Take advantage of the force_resource_mapping option to ensure docs are
written for all contrib plugins, regardless of whether or not
dependencies are met.

Partial-Bug: #1271226
Change-Id: If93dcae52bc573e2673d7fd76a0db62d5fc68115
Rename rackspace.rst to contrib.rst

Partial-Bug: #1271226
Change-Id: I1b5f848ef7f8da645ea57a0a30e7f9b86a4c866b
Add Docker resources to docs

Change-Id: I912fbc8624d93f16e05cb00f886eed6142dd0793
Partial-Bug: #1271226
Add Rackspace resources summary to docs

Change-Id: I3a57cd5f1e72663bd283d96c07949ff6de23df3a
Partial-Bug: #1271226