Adds user_data extension to nova.api.v3.extensions

Although the user_data extension does not create a resource
or controller extension and only implements server.create and
server.create.deserialize entry points it does need to be listed as
a nova.api.v3.extension entry point as the whitelist check
operates on that entry point.

This does not add any runtime overhead and allows user_data to be
specified in the whitelist.

Also adds missing discoverable policy for the user data extension

Partially implements blueprint nova-v3-api

Change-Id: Ia8ac2fa150ab2fe9c1848c5a7ddc416952adf0e4
Use the mangle checksum fill rule regardless to the multi_host

The checksum-fill is required even when you are running devstack,
in a nested kvm guest.
Always using the checksum-fill on all dhcp responses is safe, and does
not have significant impact.

The situation is similar when the checksum-fill first introduced to
nova.

See Also:
https://bugzilla.redhat.com/show_bug.cgi?id=910619#c6

Change-Id: I8a34d5f815f6bfef6d683965ed51a77e82af8834
Using staticmethod to mock LibvirtDriver._supports_direct_io

The actual test is wrong, but does not failed because the signature
of the fake method "connection_supports_direct_io_stub" accepts an
ulimited number of args.

Change-Id: Ide3e093911723f787d9e84797be86fb7d0cd00c7
Merge "Using staticmethod to mock LibvirtDriver._supports_direct_io"
Merge "Adds user_data extension to nova.api.v3.extensions"
Merge "Use the mangle checksum fill rule regardless to the multi_host"