Add neutron network constraint

This adds a new neutron.network constraint which can be used to validate
parameters.

Change-Id: Iffb94df35dba88e91358863e9307363264f9c4b5
Remove redundant default value None for dict.get

The default value for dict.get is None, no need to specify again.

Change-Id: I86006df029c0275da1aad0109b4390fdca19d967
Document schema properties for Neutron subnet resource

Change-Id: If88f626cb0a94f3700c713b915f6ebb5448dd97e
Closes-Bug: #1224178
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
Adds Parameter Label to template validate call

This change will add the ability to return the parameter label
with the parameter in the template validate call.

Change-Id: If48db3bf7f25396485f5bc8bb1cc8aeed4f8e7b0
Implements: blueprint add-parameter-label-to-template
Merge "Remove redundant default value None for dict.get"
Merge "Restructure contrib/ directories"
Merge "Generate docs for contrib plugins"
Merge "Document schema properties for Neutron subnet resource"
Convert empty filter dictionary to None

The filter parameter to stack index over RPC is is being set
to an empty dictionary.  This occurs because  get_allowed_params
returns an empty dictionary in a majority of cases.  This makes a
mess of the test cases in later oslo.messaging testing.  It also
is less effecient than just not serializing the dictionary over RPC.

Change-Id: Ibfcf950243b633cf703ad05263e3ba9e11dfe5bc
blueprint: oslo-messaging
Merge "Adds Parameter Label to template validate call"
Merge "Convert empty filter dictionary to None"
Merge "Add neutron network constraint"