Developer documentation

* Turns TESTING into a rst file, that we include in the developer
  documentation, for instructions on how to run the unit tests.
* Link to a Vagrant project that sets up Neutron inside a VM.
* Adds a section for how to debug with Nose
* Add new section for Neutron Internals
* Neutron L2 Agent documentation - currently only OVS
* Make the Security Group API extension an example of how an API
  extension is implemented

Implements bp developer-documentation

Change-Id: I9b452abc9da3b1a41ae65cff727967de0eab12fe
Enhance GET networks performance of metaplugin

Change to call plugin.get_networks() per target plugin
instead of calling plugin.get_network() per network.
Hook routines are used to select networks which belong
the target plugin.

Change-Id: Ieff06ac7bc7a150501f91aecc3197b0bb664d5fa
Closes-Bug: #1267290
Makes the Extension loader behavior predictable

When using a cluster of load-balanced Neutron Servers,
the order of extension files being loaded may differ
from one server to another. This is usually harmless,
but it is better to force the list to be loaded in the
same way across the entire cluster, just in case
something funky is going on.

Partial-bug: #1285999

Change-Id: Ib0bfd24fc52b6cd9f90c350d3af496f04a90f50a
Drop old nvp extension file

The resource alias is unchanged so there is really
no reason of dragging this forward.

If API clients are using the name or the description
in order to play with a server's extension they are
doing it wrong so they deserve the grief caused
by this change.

Change-Id: I99086c11a0e4a0b0af479e0e3d1fbe92f8ff5988
Closes-bug: #1285999
Floatingip_status migration not including Embrane's plugin

2eeaf963a447_floatingip_status migration script is not including Embrane's core plugin (thus breaking the tests).

Change-Id: Ic051ba2524db2e1bafea102af34351f6c4088db3
Closes-bug: 1289046
BigSwitch: Fix error for server config check

Raises config error when a port is incorrectly
configured for a server instead of getting a
ValueError when python tries to convert it to
an integer.

Closes-Bug: #1289132
Change-Id: Ifec0bec5640a4a57859f2673c46c610f1d21c36c
BigSwitch: Fix cfg.Error format in exception

Fixes an incorrectly formatted call to cfg.Error
in an exception handling routine in the Big Switch
server manager module.

Closes-Bug: #1289134
Change-Id: I9a1137d7395412ff6f061aacbe85f9b26269a1da
NSX: fix nonsensical log trace on update port

Having this at a WARN level makes no sense, especially
because the actually message does not say anything about
a warning condition. Probably a brain fart of some sort.
Make it DEBUG, just because it may come handy to see what
data we're passing.

Change-Id: Ie667018faae587a3adb6b3edda4d9912344cae83
Add support for tenant-provided NSX gateways devices

Add a new API resource specific to the NSX plugin for registering
tenant-owned NSX gateway devices with the NSX controller.
This API also allows tenants for managing gateway devices on the
NSX backend.

The behaviour of the net-gateway extension is mostly unchanged with
the only difference that newly created network gateways can now only
refer exlusively gateway devices registered using the API resource
introduced with this patch.

Implements blueprint nsx-remote-net-gw-integration

Change-Id: Ia2bdd0164498fe46a027b1d8f5a9d9f4e37558a4
Merge "Drop old nvp extension file"
Merge "NSX: fix nonsensical log trace on update port"
Merge "BigSwitch: Fix error for server config check"
Merge "Floatingip_status migration not including Embrane's plugin"
Merge "Makes the Extension loader behavior predictable"
Merge "Add support for tenant-provided NSX gateways devices"
Merge "Enhance GET networks performance of metaplugin"
Merge "Developer documentation"
Merge "BigSwitch: Fix cfg.Error format in exception"