Avoid reading any entries when overwriting with totally new entries
Implement file channel output with POSIX file descriptors instead
When writing entries, seek only once

* Separate skipping and writing local files into different methods.
Write to temp channel, then apply temp to original (ref #9).

* When updating, appends temp to original after skipped entries.

* When overwriting, atomically replaces original with temp.

* Channel output supports bias applied to offset property.
Merge branch 'master' into memory-safety