Add force_resource_mapping option

This option can be used to indicate whether a resource should be
forcefully added to the registry mapping.  This allows doc
generation to load and gather information about resources even
if runtime 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
Allow force registration of Rackspace resources

This makes use of the force_resource_mapping options to allow Rackspace
resources to be registered even if dependencies are not met (e.g. pyrax)
and allow their documentation to be generated in any environment.

Partial-Bug: #1271226
Change-Id: I3a7467e87f7ff81badd51f121ecea98f2924e506
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 even if dependencies are
not met (e.g. docker-py) and allow their documentation to be generated
in any environment.

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

Add information regarding general use case, dependencies, and README
info for Rackspace resources in the contrib docs.

Closes-Bug: #1271226
Change-Id: I3a57cd5f1e72663bd283d96c07949ff6de23df3a