Restructure contrib/ directories

contrib/ directory does not follow any standards and will make it
harder to programmatically install plugins on devstack.  The current
structure can also cause namespace collisions when loading them.

This moves all plugin modules to a folder with the same name under
their directory (e.g. contrib/rackspace/rackspace), allowing
requirements, readmes, and other files to be separate from the
actual code.

This also helps to avoid namespace collisions when loading all the
plugins, since all plugins will be under their namespace in the heat
package.  Example:
  heat.engine.plugins
  heat.engine.plugins.docker
  heat.engine.plugins.marconi
  heat.engine.plugins.rackspace

Since plugin packages are now in a folder one level under contrib/,
testr.conf is also updated so that all plugins are discovered
correctly.

Co-Authored-By: Anderson Mesquita <andersonvom@gmail.com>
Related-Bug: #1271226
Change-Id: Ifc8e3ca388253be82471651737da5d399c7cfb98
Generate docs for contrib plugins

Extend write_autodoc_index to take the contrib plugins into account
and force load all resources - both built-in and contrib - in
ext/resources.py.

Co-Authored-By: Richard Lee <rblee88@gmail.com>
Partial-Bug: #1271226
Change-Id: If93dcae52bc573e2673d7fd76a0db62d5fc68115