Translate all substitution elements of a Message object

Some Messages are created with further Message object substitutions.
E.g.:

    msg = _('Message 1: %(msg_2)s') % {'msg_2': _('Message 2')}

The problem is that we were only translating the base Message but not
the Message substitutions within, thus in those cases Messages were only
being partially translated.

The fix sets the locale property for all Message substitution parameters
upon setting it on the base Message.

Fixes bug: #1221808

Change-Id: Ic3119df23a090cfaa160c1461e955f0af55fe1cf