Add common methods required to allow translation of REST API responses

REST API responses (particularly errors) are always returned to
consumers in the locale of the operating system. This change adds common
methods that will be required by other components in the process of
translating the API responses to a locale requested by the API consumer.

The patch set includes the following changes:

1) An installer for the lazy _() function is provided. Services that
want to use the Message class to do delayed translation will just have
to set the new 'lazy' flag in the existing gettext.install().

2) A method to retrieve all available languages in a given translation
domain in order to pick one that will be used to translate the
response to the user.

3) A utility method to translate a Message.

Co-authored-by: Mathew Odden <mrodden@us.ibm.com>
Co-authored-by: Ben Nemec <openstack@nemebean.com>

This partially implements bp user-locale-api.

Change-Id: I27640a3c8b255be51bc6396d238098bd25af61ec
Modify local.py to not be dependent on Eventlet

Change local.py to use threading.local instead of being dependent on
Eventlet corolocal.local.

Change-Id: Ib544be1485823f6c619312fdee5a04031f48bbb4
Merge "Add common methods required to allow translation of REST API responses"
Merge "Modify local.py to not be dependent on Eventlet"