Wip 15101 stream framing drewhk

NOT READY YET

Initial implementation for flexible decoding a stream of ByteStrings. The design goal was to be able to control allocations as much as possible (after constructing the decoder itself) while allowing to fully exploit the streaming possibilities and remaining readable. This is a low-level tool, ordinary framing elements similar to the pipelines we had in the past will be provided for convenience.

Unfortunately the current implementation is not Java friendly.