Enforce required config params for ODL driver

Raise a config error during initialization if
there is no URL, username, or password specified
in the config for the OpenDayLight ML2 driver.

Also ensure core plugin deallocation after every
test [1] following the previous backport [2].

[1] https://review.openstack.org/#/c/92793/
[2] https://review.openstack.org/#/c/102329/

Closes-Bug: #1301432
Change-Id: I65fc94d3eaaade3d1402d1c82d2c1edfa7133d5a
(cherry picked from commit 2da351af7d2a10a3055020d572d357c56ba2689b)
Provide way to reserve dhcp port during failovers

This change provides a way to save the dhcp port when failing
over a network from one dhcp agent to another.  When a
dhcp-agent-network-remove is issued, the dhcp port device_id is
marked as reserved which causes it to not be deleted. When a
subsequent dhcp-agent-network-add is issued, the reserved port
is used and the device_id is corrected.  This is desirable
in order to maintain the dhcp port ip address so that dns doesn't
get impacted. Unit test added.

Closes-Bug: #1288923
(cherry picked from d5c0a37999f9e3a611a322baacabebc06b13283b)
Conflicts:
	neutron/common/utils.py
	neutron/tests/unit/test_db_plugin.py

Change-Id: I531d7ffab074b01adfe186d2c3df43ca978359cd
Merge "Provide way to reserve dhcp port during failovers" into stable/icehouse
Merge "Enforce required config params for ODL driver" into stable/icehouse
Merge branch 'stable/icehouse' of https://github.com/openstack/quantum into stable/icehouse

Conflicts:
	neutron/tests/unit/openvswitch/test_agent_scheduler.py
Merge branch 'stable/icehouse' of github.com:bigswitch/quantum into stable/icehouse