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
Move Rackspace resources into a resources folder

During doc generation, resources have their own templates and need
to be separate from non-resource modules.  This separates custom
Rackspace resources from the custom Rackspace Client.

Partial-Bug: #1271226
Change-Id: Idbdc8400d30e2e745a2dc1b2d2fa1b7cff50d57b
Rename docker-plugin to docker_plugin

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``).

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

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