Improve TimerManager

Instead of adding timers into a vector and sorting them every time a timer is added, use a multimap
Dont call SetCloakedHost in users constructor, just set chost, because SetCloakedHost logs a message like the user just changed their host
Merge remote branch 'attila/1.9+timermanager' into 1.9