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.

Change-Id: I531d7ffab074b01adfe186d2c3df43ca978359cd
Closes-Bug: #1288923
(cherry picked from commit d5c0a37999f9e3a611a322baacabebc06b13283b)

Backported-from: juno
Upstream-review: https://review.openstack.org/#/c/79018/
Partial-rally-bug: DE515
Merge pull request #50 from TieWei/DE515

Provide way to reserve dhcp port during failovers