Reworked ByteArrayByteAccess to use mark / reset

This is, per Matt's suggestion, in lieu of minting a new ByteArrayInputStream for
every call to readBytes