Make Exception.format_message aware of Messages

Many API extensions are casting NovaExceptions
directly to unicode with format_message(),
which results in a loss of localization information
from the possibly wrapped Message objects.

This change lets Messages be returned from
NovaException.format_message() if possible, which
will then be translated and resolved to unicode
later when needed.

fixes bug 1229410

Change-Id: I818a35b1d7d910c4f058d870e69c5ff73e45c6bb
Merge "Make Exception.format_message aware of Messages"