[Engine(|-Tests|-IRC)] Add formatting capabilities to MessageBuilder.

Allows construction of messages from strings, nicknames, message parts and other messages using String.Format-like format strings. Additionally, modify the IRC engine code to make use of this feature, giving translators more control over the presentation of notification strings.