libvirt: Don't pass None for image_meta parameter in tests

The get_guest_config() method in the libvirt driver expects to
have a non-None value for image_meta - the to_xml() caller
will ensure this is non-None. The test cases, however, are often
calling get_guest_config() directly instead of via to_xml() and
are passing None for image_meta. Fortunately this hasn't been a
problem historically but will become one as more of the XML code
requires access to the image_meta object. Ensure the test cases
all pass {} instead of None to addres this.

Blueprint: virt-driver-vcpu-topology
Change-Id: I30fc23ef1344fcdcfef10113c6679025f60f2036
Add new fields to the networks table

Adds a migration to add mtu, dhcp_server, enable_dhcp, and
share_address to the networks table. The field for dhcp_server defaults
to gateway, since gateway is currently used to determine the
dhcp_server value. The value for mtu and share address is determined by
a flag, so copy the value from the flag into the table during the
migration.

Partially-implements blueprint better-support-for-multiple-networks

Change-Id: I8278fb125e6e478b519c875eca9ebbf778d88d74
Adds network fields to object

Adds mtu, dhcp_server, enable_dhcp, and share_address to network
objects and provide data migration on save.

Partially-implements blueprint better-support-for-multiple-networks

Change-Id: I318791a9d7f53534b3383221cdfb7dfe63dd116b
Don't replace instance object with dict in _allocate_network()

The compute manager _instance_update() method returns a dict
version of the modified instance.  allocate_network() is the only
method which uses this return value rather than ignoring it, which
has the side effect of replaces the instance object it has been passed
with a dict.  None of methods called after this update need the modified
state values, so we can just ignore the return value as all of the
other calls do.

Passing on an object instead of a dict allows us to clean up the
system_metadata handling in _alloc_network_async() as well.

Related to blueprint compute-manager-objects-juno

Change-Id: I3249bba03edab4dd45eec72f7abdb15d7800346e
Merge "libvirt: Don't pass None for image_meta parameter in tests"
Merge "Don't replace instance object with dict in _allocate_network()"
Merge "Add new fields to the networks table"
Merge "Adds network fields to object"