mgr: dont expose sync.Lock. add Get/Has
stream: make ReadRecord return a *Record
stream: add rio.Create
stream: add Stream.Fd and Stream.Stat
defs: add RIO block marker
block: add block definition for r/w on-disk data
errors: add ErrRecordNoBlockMarker
record: add reading raw data
stream: add reading record-data
block: introduce rio.BinaryMarshaller and rio.BinaryUnmarshaler interfaces
defs: add mark_block in bytes form
record: implement a recovery mechanism for incompletely read blocks + cleanup
stream: cleanup + add managing of records inside the stream
utils: implement a more capable binary reader (than encoding/binary)