Fixes an iSCSI connector issue in the Hyper-V driver.

It fixes how Hyper-v nova driver is returning iscsi connection
information. It affects the way cinder plugins used that
information to implement ACL based on initiator_name.

Fixes: bug #1153975

Change-Id: I40dc3bba9c9a76585ba9bdd938043d4bfef195c8
Makes safe xml data calls raise 400 http error instead of 500

When we parse incoming XML safely, if there was an error raised it would
be an expat.Expat() error, which would bubble up to the api and turn
into a HTTP 500 (Internal Error)

It turns out that all the places we use the safe_xml parsing are in
Deserializers, close to the API, so in this patch we just change the
error it raises straight to nova.exception.MalformedRequest().

This causes the api to fail with the proper 400 (Malformed Request) when
it encounters corrupt XML. This is caught at
nova.api.openstack.wsgi._process_stack and __call__.

We also take the opportunity to move the new safe parser from nova.utils
to nova.api.openstack.xmlutil as the openstack api is the only thing
that uses it.

Fixes: bug #1133111
Change-Id: Ifa2ed7ee128241cfe8dbcdc5bd75194d96b6cdb5
Do not accept invalid keys in quota-update

Check if the keys are valid and respond with HTTPBadRequest
when they are not.

Found a spot in wsgi where we were trying to use xml namespace
as data for the payload, we need to skip them when converting
to json

Fix for LP# 1064864

Change-Id: Ic4a68047adf3ccf2dbac669b1b66d73bfe4d58de
Merge "Makes safe xml data calls raise 400 http error instead of 500"
Merge "Do not accept invalid keys in quota-update"
Merge "Fixes an iSCSI connector issue in the Hyper-V driver."