IRC reconnect

Adds a `~/.owl/.irc.channels` file, persist channels

All irc channel subscriptions persist across reconnects.

`irc-part` and `irc-join` now have a `-t` flag, which makes the channels not persist across BarnOwl sessions.

`irc-loadchannels` loads persistent channels.  It does not unload existing channels.

TODO: make it so that `:irc-join` commands in `~/.owl/startup` don't result in lots of error messages in :show errors.  This currently occurs because BarnOwl errors whenever you try to subscribe to an already existing subscription (in zephyr), and I reused the zephyr machinery for IRC.