Rebuild `weechat-monitor-buffer' and `weechat-switch-buffer'

- Don't return a list from `weechat--read-channel-name'
- Short-circuit `weechat-monitor-buffer' if the buffer is already monitored
- Implement `weechat-switch-buffer' in terms of `weechat-monitor-buffer'

Signed-off-by: Moritz Ulrich <moritz@tarn-vedra.de>