Fix enable_metadata_network flag

The following patch: 9569b2fe broke the desired functionality of
the enable_metadata_network flag, by not allowing the metadata
proxy to be spawn for 'metadata networks', which are used for
accessing the metadata service when the logical router is not
implemented through the l3 agent.

This patch enables spawning of the metadata proxy for metadata
networks when the appropriate flag is set to True.

The patch also adds rather pedant unit test coverage for the
should_enable_metadata method which previously had no unit test.

Closes-bug: 1394020
(cherry picked from commit c45842af38da322b93d1200451a4a254abfcaed1)

Conflicts:
	neutron/agent/dhcp_agent.py
	neutron/tests/unit/test_linux_dhcp.py

Change-Id: I8dca1fce9fbc83e75ba7e4ce948531427bf7e88b
Merge branch 'stable/icehouse' of https://github.com/openstack/quantum into stable/icehouse