Split futures_codec::Framed earlier
In channel/handshake.rs would be more efficient to split our Framed earlier, at the time that we create it. By doing this, we'd have access to the FramedWrite's high-water mark, so we could tune its buffer size.
(This could be done even more efficiently if we add a split() method to the trait returned by NetStreamProvider::Stream. That would let us avoid having a bilock entirely, by taking advantage of more efficient read-half/write-half implementations.)