Support networks without gateway

Launching an instance when using network injection on a network
containing a subnet that has no gateway fails in scheduling with
a KeyError when using a legacy network_info provider and generates
an invalid network file for the others.

The following changes were done:

* The legacy transformer for network_info now always provides
  a gateway/gateway_v6 field, with a value of None if no gateway
  is available (this is similar to the other fields that are empty).
* The interfaces template was modified to include the gateway line
  only if a gateway is provided for the interface.

Fixes: bug #1207878
Change-Id: I887757a6bcba528059ace8831a7d23a31b08c630
VMware: Ensure Neutron networking works with VMware drivers

Fixes bug 1202042

A new utility method, is_neutron, is added. This returns True
if Neutron/Quantum is used by the network_api_class.

Change-Id: Id1d1f29a02e906b98853670ea2ad589f04eba595
Merge "Support networks without gateway"
Merge "VMware: Ensure Neutron networking works with VMware drivers"