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.
Back porting Nifty jars to Java6 for Hive security (t4170257)

Summary:
This is to back port Nifty jars to Java6 as a short term solution for Hive security. Hive CLI is still compiled against Java6. It will take sometime to move to a newer JDK. Changes here include:
- Switching to JDK6 syntax
- Copying io.airlift.units.Duration to nifty-core to avoid dependency on io.airlift
- Relocate all types into com.facebook.nifty.legacy by using Maven shade plug-in

Test Plan: Unit testing plus Hive local testing

Reviewers: andrewcox

Reviewed By: andrewcox

CC: alandau, di-security@, junfang, pieter, andrewcox

Differential Revision: https://phabricator.fb.com/D1294426

Task ID: 4170257