WIP feat(oauth): Add WebChannel support

@shane-tomlinson @ckarlof feedback?

- [ ] Need to check error reporting
- [ ] Need to fix localstorage WebChannel saving
- [ ] Tests
hmm... Initially, I would say yes. But, that means the wrong channel might be created until Session.oauth is set in one of the views.