Don't use reflection for creating the transpot DirectByteBuffers

I tried using MethodHandles, but the security features of Java foiled that attempt.
So now I use Unsafe to simulate the construction.
The reflection based approach is kept around as a fallback, in case the java.nio internals are refactored in a future version of Java.
Merge pull request #3497 from chrisvest/2.2-direct-buffer-create

Don't use reflection for creating the transpot DirectByteBuffers