Allow to optionally set language in Message constructor

This helps with testability to not have to rely on $wgLang
and setting globals in tests.

This also provides convenience, so one does not necessarily
need to call Message::inLanguage() if language is known
at time of constructing the message object.

Also added tests to cover this change.

Change-Id: I14ee98972c7be954e04398ece9e6103f96ab60dd
Merge "Allow to optionally set language in Message constructor"