Prepend /dev/ to root_device_name in get_next_device_name

Because the API docs for booting an instance from a volume have shown to
use 'vda' for a long time, and it has worked, there may be instances
with root_device_name = 'vda'.  These instances will fail a check in
get_next_device_name when attempting to attach another volume, making
that impossible.  Another patch fixes new block_device_mappings by
prepending /dev/ when the root_device_name is populated, but this will
allow incorrectly populated instances to attach volumes.

Change-Id: I709a195c7e3f559315a2c307de62cbae8b72ac46
Partial-Bug: #1337821
Made unassigned networks visible in flat networking

This change fixes a bug in Nova's
GET /v2/{tenant_id}/os-networks

The doc
http://docs.openstack.org/api/openstack-compute/2/content/GET_os-networks-v2_ListNetworks__v2__tenant_id__os-networks_ext-os-networks.html
says that "Lists networks that are available to the tenant".

When invoked by a non-admin user it was returning only networks
assigned to the user's tenant.  But in flat and flat DHCP nova
networking, networks CAN NOT be assigned to tenants --- thus a
non-admin user would get zero networks from this operation.

The fix was to make this operation conditionally use an option already
present in the lower-level code to "allow_none" when fetching the list
of networks, meaning to include networks whose project_id field in the
DB held "none" (meaning the network is not assigned to a tenant).  The
condition under which this is done is that the Nova configuration
option named network_manager contains the string
"'nova.network.manager.Flat" --- which is true for flat and flat DHCP
nova networking and false for VLAN nova networking.

Change-Id: I64c5a3f31c912cca6b5b9987152ba7a9b3f5987d
Closes-Bug: #1327406
Merge "Prepend /dev/ to root_device_name in get_next_device_name"
Merge "Made unassigned networks visible in flat networking"