When translating if no locale is given use default locale

In get_localized_message we were only updating a Message's locale if it
was not None, but None is also a valid request, it means the default.
If a Message had been previously translated and since None was ignored,
the message was translated to the last translated locale. This patch
fixes that. It also makes sure that the given message object's locale is
not changed after translation.

Change-Id: I8e1a594d779d18c88dc42c612900442d191bfa70
Merge "When translating if no locale is given use default locale"