WIP feat(oauth): Add WebChannel support

@shane-tomlinson @ckarlof feedback?

- [ ] ~~Need to check error reporting~~ https://github.com/mozilla/fxa-content-server/issues/1513 
- [x] Need to fix localstorage WebChannel saving
- [x] Tests
This *really* seems like it should not belong here, but in the receiver of the message. Does `source` not give enough info?