Add support for API message localization

Add support for doing language resolution for a request, based on the
Accept-Language HTTP header.

Using the lazy gettext functionality from oslo gettextutils, it is now
possible to use the resolved language to translate an exception message
to the user requested language and return that translation from the API.

Partially implements bp user-locale-api

Change-Id: Ib2c8360372996d53b50542df54a52d92b07295ca
Ignore purge_props for v2 Glance api and fix upload

The V2 Glance API image schema does not contain
purge_props. While this may be a bug in Glance,
we will ignore this property in cinder when
glance_api_version=2. This will not change behaviour
since Glance defaults this property to True, Cinder
never sets it to False and the v2 client appears to
ignore it anyway.

Also fixed image upload which is a seperate client
call to update in v2 (v1 update does both).

Change-Id: I0ba1d7d920984cface57795ace160ec300ff75e2
Fixes: bug #1210467
Merge "Add support for API message localization"
Merge "Ignore purge_props for v2 Glance api and fix upload"