Added timestamps in Chatlog

It was a little odd that timestamps checkbox in Preferences affected
only regular chat messages, but not the chatlog, so I decided to add
timestamps into the chatlog.

I hate to use `const_cast` to add a timestamp to a received message, so
if someone knows a better solution, don't hesitate to mention it.
Modified timesamps

Modified the previous commit after discussing it with Soliton. We agreed
on sending timestamps to other players and using them in displaying,
with a fallback to using local time if received message without the
"time" field.

This fixes several issues:
1) when viewing replays the time would be the one of the actual game
insted of the time of viewing the replay;
2) previously, when opening some dialog while players send message and
closing it — chat messages would have timestamp of when the dialog
windows was closed, not the time when messages were sent.

This also introduces one new issue:
1) if a layer has time set up wrong, the time stamp will be incorrect.
For example, when instead of setting to the right timezone a player just
adjusted system time with incorrect timezone.
Cleaning

Removed new line.
Refactoring

Renamed undescored variable so it won't get taken for class variable by
mistake.