replace use of dhcp_lease_time with dhcp_lease_duration

Having 2 separate dhcp lease period flags (dhcp_lease_duration
used by the quantum db plugin, and dhcp_lease_time used by the
dnsmasq dhcp agent) means that you could potentially have different
lease periods being set, and used by different parts of the codebase.

It seems to me there is no real need to have 2 separate flags, so this
commit basically replaces references to dhcp_lease_time (which is used
by the dnsmasq dhcpagent) with dhcp_lease_duration. This way, there
is only one flag to set, and both the quantum db plugin and dnsmasq
dhcp agent will use the same lease period.

Change-Id: Ia99dfa9284b6e737144f61a80c59cd898c0949bb
Fixes: bug #1192550

Conflicts:

	quantum/agent/dhcp_agent.py
Support 'infinite' dhcp_lease_duration

Process a dhcp_lease_duration value of -1 as 'infinite'
when setting the dnsmasq dhcp-range values to support
cases where it is undesirable for instance dhcp leases
to expire.

Closes-Bug: #1315430
Change-Id: I1cc3cfebfec355014e6d5b5cbd656a1300c43c0b

Conflicts:

	etc/neutron.conf
	neutron/agent/linux/dhcp.py
	neutron/tests/unit/test_linux_dhcp.py
Use information from the dnsmasq hosts file to call dhcp_release

Certain situations can cause the DHCP agent's local cache to get out
of sync with the leases held internally by dnsmasq.  This method of
detecting when to call dhcp_release is idempotent and not dependent on
the cache.  It is more robust.

Hyunsun: 'dhcp_release: CommandFilter, dhcp_release, root' is required
in rootwrap.d/dhcp.filter

Change-Id: I4eafd9cfb94a77a2f0229f89de5483dad23725cf
Closes-Bug: #1250644

Conflicts:

	neutron/agent/linux/dhcp.py
	neutron/tests/unit/test_linux_dhcp.py
Merge pull request #34 from hyunsun/UCLOUDNG-1495

UCLOUDNG-1495 Patches for DHCP infinite lease time