issue 31: update channel topic (#31)

hi @whimboo !

with apologies for the untidy commit list, suspecting this requires re-forking the repo to fix, and not sure what that would do to existing pull requests

We have to backup the topic for each of the joined channels. Also is there a better way to get the topic when the bot updates it? We seem to miss to restore the topic if no change happened since the bot joined, right?