Fixing lost vlan ids on interfaces

Sometimes a vm gets its tap interface unset and reset too fast to be caught in
an agent loop, and its vlan tag was not reset.

We now detect if an interface loses its vlan tag, and if it happens the
interface will be reconfigured.

Since the TAG ID is only available via the "Port" table (in the 'tag' column),
we couldn't reuse the get_vif_port_set() method's run_vsctl call which queries
the "Interface" table, and needed a specific run_vsct call to the "Port" table
in the new get_port_tag_dict() method.

Conflicts:
	neutron/tests/unit/openvswitch/test_ovs_lib.py

Change-Id: I7f59e2c1e757c28dae35c44ebfad9d764ae1d3c5
Closes-Bug: 1240849
(cherry picked from commit 60cb0911712ad11688b4d09e5c01ac39c49f5aea)
Dnsmasq uses all agent IPs as nameservers

Add dhcp option which provides all agent IPs
which will be used as nameserver entries when
neutron uses multiple dhcp agent per network and
when there is no dns nameserver provided by the
neutron server.

Change-Id: I639a844bba212a731616851ff479a5e735612cf8
Closes-bug: #1259482
(cherry picked from commit 2afff147c45f97a0809db40ad072332fb37ccd8d)
Merge "Fixing lost vlan ids on interfaces" into stable/havana
Merge "Dnsmasq uses all agent IPs as nameservers" into stable/havana
Merge remote-tracking branch 'upstream/stable/havana' into ovx