add put API, re #5

This includes that part of the API that is necessary to create
a put() based on a previous read() (track_offsets attribute and co.)