[split] finagle-core: expose newChannelTransport in Codec to allow multiplexing in clients

RB_ID=103302
[split] Merging Grailbird into MASTER

In case it helps people better nagivate, a quick summary of the structure is: Grailbird pulls off Kestrel, then calls DataGatherer and Dispatcher with retries. These basically walk through the stages of the whole zip process. I kept Zip self-contained, so DataGatherer/Dispatcher just modify the object (so in the future, the error queue or some other mechanism that can resume jobs that are mostly done, instead of starting over). For zip file writing, I added formats for each file.

RB_ID=100474
[split]  Revert "Merging Grailbird into MASTER" to unbreak the build This reverts commit d7aa2dc8c38889a4aac317298a0a27dda80a3a99.

RB_ID=103776
TBR=true