ObjectId serde optimizations

Yourkit highlighted the ByteBuffer.wrap in the ObjectId(byte[])
constructor as an allocation hotspot. I optimized that and went on to
optimize toByteArray, ObjectId(String), and toString.