JCBC-658: LegacyTranscoder cannot work on direct ByteBuf

Motivation
----------
With the "no copy" optimization introduced in 1.1.0 core-io, the
.array() is not available on a direct ByteBuf anymore.

Modifications
-------------
This code fixes the LegacyTranscoder to not operate on the array()
and instead read the bytes into a fresh array.

Result
------
No failing tests and more flexible behavior on both direct and non-direct
byte buffers.

Change-Id: I5548129934d366555c821c1a2dc7465707df1e91
Reviewed-on: http://review.couchbase.org/44381
Tested-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
Reviewed-by: Simon Baslé <simon@couchbase.com>