drivers.oci.writer needs to pack data and provide option to re-interleave it

`drivers.oci.writer` has its own home-grown pack method instead of using the now-available `PointBuffer::pack()` methods. Additionally, a method needs to be added to PointBuffer to `reinterleave()` or `switchorientation()` the data so that it can be stored the other way. The schema that is written into oracle must respect the orientation and `drivers.oci.reader` must work with the new data orientation stuff.