whitespace
remove byteable protocol
kibit
conversions on ByteBuffers do not modify the input buffer

Any operation that would mutate the input ByteBuffers now duplicates the
ByteBuffer first.  This is obviously slightly less efficient (though
note that the backing byte array is shared), but it allows more thread safety,
so I think the tradeoff is worthwhile.
allow byte-array -> direct ByteBuffer conversion through options map
missed a type hint
add primitive => ByteBuffer conversions