Enable log messages to handle exceptions containing unicode

Currently the format string is a normal string, which in
py2x is not unicode.  When the unicode exception information is
used to replace the %s, str() is called on it, but because
it is unicode str() fails.  Making the format string unicode
fixes this.  For the error log this is done by making it
translatable and for the debug message by explicity making
it unicode.

The exception will contain unicode when the exception being
returned by the other project is either translated to a
language using unicode characters or when lazy translation
is enabled and a gettextutils.Message instance is returned.

Change-Id: I1706f5eb9dfbee434f8882b03dad4674d955c370
Closes-Bug: #1310397
Merge "Enable log messages to handle exceptions containing unicode"
Add profiling support in oslo.messaging

Oslo messaging is used for all rpc calls between services of each
OpenStack project.

To be able to bind traces from different services of one project,
we should be able to sync state of profiler in 2 serivce.

Sync of profiler in services is done in quite simple maner:
1) If profiler in publisher service has inited profiler it adds trace info
to rpc message.
2) If reciever service gets in rpc message trace info it init profiler.

As well this patch contains new module oslo.messaging.profiler that has
generic function set_notifier that allows us to setup profiler in all
projects of OpenStack that are using oslo.messaging.