Changes in ChatHook

Interface stays the same,
underlying chatHook will now use a %placeholder=>value hashmap,
this allows for an arbitrary amount of cutom placeholders and values.
Upon chat they will be formatted on the Format string,
then sent to the players