Create ByteBufferUnsafe.cs

Added a drop-in replacement for ByteBuffer.cs which takes advantage of unsafe code to not allocate any memory.
(because BitConverter.PutBytes allocates a new byte[] array each time; and the way ByteBuffer.cs uses GetBytes also requires allocating a copy each time as well).
Note that this ByteBuffer library is not thread-safe, as it often needs to reverse some bytes in-place if you are on a big-endian system.