Disconnect from channels when going away, reconnect when back.
Add `--part-on-away` to leave channels when away.
Don't blow up if we don't have saved_channels but are away.
Allow away even without --part-on-away
Add tests of away status changes.
Update part_on_away tests

* TomDoc the IRCD options
* Add explicit test to make sure channels are rejoined correctly when coming
  back from away.
Merge branch 'eatnumber1/away_part'