Allow unsharing a network used as gateway/floatingip

If network has ports that connect it as gateway to another network, such
as an external network, or "floating ip" ports it should still be
possible to "unshare" it since these ports represent usage of the
network as an external network, not as a VM data network.

Change-Id: Ic33ae7ac193e4fc9fe06a4cfd579a4aacf0e6354
Closes-bug: #1293184
(cherry picked from commit 7a2053c7a27bdec02e97b46736c5fcce5f2d053a)
BSN: Add context to backend request for debugging

Include the request context with calls to the backend
Big Switch controllers to assist with event correlation
and debugging object provenance.

This also removes mutable objects from default arguments
in some of the server manager function definitions that
were interferring with the new use of the headers dict.

Note: The commit to master stripped out an auth_token
field, however that logic is removed because Icehouse
did not have the auth_token to begin with.

Conflicts:
	neutron/plugins/bigswitch/servermanager.py
	neutron/tests/unit/bigswitch/test_servermanager.py
	neutron/tests/unit/ml2/drivers/test_bigswitch_mech.py

Closes-Bug: #1364696
Change-Id: I5b80b1596cc145742457b3603cbcd67f6e0d9f36
(cherry picked from commit 50c65d16bee8e6e46840f232519e92d9ba9989b4)
Merge "Allow unsharing a network used as gateway/floatingip" into stable/icehouse
Merge "BSN: Add context to backend request for debugging" into stable/icehouse
Merge branch 'stable/icehouse' of https://github.com/openstack/quantum into stable/icehouse