Replace AppendableByteArrayInputStream in DirectDruidClient

* Replace with SequenceInputStream fueled by an enumeration of ChannelBufferInputStream which directly wrap the response context ChannelBuffer
* Added zero-length byte array when DirectDruidClient is done. This prevents an odd race condition on `done`.
* Improves query speeds by 1~2% in my simple tests

(old pull request didn't like the force)
The SequenceInputStream keeps closing until the enumerator reports that it is done. This is to try and prevent a NPE or lockup in the SequenceInputStream::close()