Optimization for parsing mongo ObjectId

The ObjectId(byte[]) constructor is pretty inneficient. It wraps the
bytes in another ByteBuffer. Ideally there'd be an ObjectId(ByteBuffer)
constructor.

It's was also possible for there to be a copy in TBaseHelper.rightSize.
So this change prevents that.

A change could also be made to TCompactProtocol.readBinary to prevent it
from making a copy.