Rearrange BotClient methods, abstract a couple of things into new methods
Don't assume the server supports requested capabilities (fixes #86)