[#285] Split `with-channel` into smaller component parts
[#285] Split `with-channel` into smaller component parts

For example, to allow auth-conditional WebSocket upgrade responses.

ptaoussanis/http-kit,ptaoussanis/http-kit,ptaoussanis/http-kit,http-kit/http-kit,http-kit/http-kit,http-kit/http-kit,ptaoussanis/http-kit,http-kit/http-kit,ptaoussanis/http-kit,http-kit/http-kit,ptaoussanis/http-kit,http-kit/http-kit