Fix DHCP agent to work with latest dnsmasq

The latest dnsmasq no longer accepts hostnames which begin with a number. This
affects Fedora 19 right now, and will mean Fedora 19 will not work with Neutron
DHCP. dnsmasq should work with hostnames beginning with a number (RFC 1123 says
this is valid), but until this is fixed, many users will be left unable to use
Fedora 19 with Neutron.

This patch adds a "host-" prefix to each hostname entry generated by the DHCP
agent. This fixes the issue in Neutron.

Fixes bug 1204125

Change-Id: I0e29ec033969c3fb958ed3a12b8962b73b0e3d94
(cherry picked from commit acebf769a41a9a55cdc6789bf4962ea64cf87773)
do not raise exception on ip address recycle operation

Currenty a exception will raise on ip address recycle operation if the ip
address doesn't belong to any allocation pool which will make user unable
to update port, even worse it will make user unable to create new port.
So do not raise exception if the ip address to be recycled doesn't belong
to any allocation, just delete it from the ip allocation table.

fixes bug 1201692

Change-Id: Icfbded5158f1f4043f69bb1463fd4c830c9714a9
(cherry picked from commit d6cddd430c237c9496a97978070e6891d4625d00)
Allow gateway address to be unset for an existing subnet

Validation of the gateway IP address was taken place even
if the gateway IP was set to None; this was causing an
AddrFormatError exception to be raised by method
'_validate_gw_out_of_pools'. With this change we skip
the validation in case the gateway is set to None.

Fixes bug #1178273

Change-Id: Ib84378a4fd2cefdbbcacce695abbfaf82c647dd3
(cherry picked from commit 40a5853970cdd1555dfb5ebce81c6babf2e445da)
Merge "Fix DHCP agent to work with latest dnsmasq" into stable/grizzly
Merge "Allow gateway address to be unset for an existing subnet" into stable/grizzly
Merge branch 'stable/grizzly' of https://github.com/openstack/quantum into grizzly/stable