Improve TimerManager

Instead of adding timers into a vector and sorting them every time a timer is added, use a multimap
Check for null pointers in HasMLock/SetMLock/RemoveMLock, cs_register can pass it some sometimes/possibly other places
Properly cleanup after entrymsglists and ajoinlists when destructed
Merge branch '1.9' of github.com:anope/anope into 1.9
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