Channels are now ephemeral, no more storing channels on Session. Mock in some OAuth server interactions.

* Bring the channel factory back. Simplify it's API. The only method is `get`, it takes a `window` as a paramter. All other info is taken from Session.
* Use the channel's `send` interface to determine whether it supports OAuth auto-verification.