Fix test breaks from my last change

Some callers actually wanted to create a transport around a ChannelBuffer in order to traverse through the data in the buffer and figure out how many bytes were read. If the buffer is duplicated internally, they can't check how many bytes were read without providing access to the duplicated buffer. In the end I decided to switch things back to how they were, and the code that actually *did* want the buffer duplicated (to do some pre-processing of the message before sending it to the actual processor) will do so explicitly.