channeltrack: handle processing topic before join
Note: this branch contains fixes from !9 (merged) too. Merge !9 (merged) before merging this, or just cherry-pick the 2nd commit.
Due to eend_event being asynchronous, the RPL_TOPIC and RPL_TOPICWHOTIME events can be dispatched before the user_join event, which was causing the Channel object's topic and topicwho not to be set.
Fixes #19 (closed)