Fix resize handling

Patch from Egmont Koblinger.  At least it's readable...

Bug 707572 - Aborts on assertion (debug mode)
Bug 708213 - zsh - lots of blank space upon resizing VTE based terminals
[stream-file] Keep head value in memory

Reduces syscalls.

Part of Bug 637275 - Use pread/pwrite() in vtestream-file.h if available
[stream-file] Bug 637275 - Use pread/pwrite() if available

Turns syscalls in half.
[stream-file] Mark temp files NOATIME
[ring] Rename variables for readability

Patch from Egmont Koblinger.

Part of Bug 708496 - Lines disappear after positioning back the cursor
Bug 708496 - Lines disappear after positioning back the cursor

Patch from Egmont Koblinger.
Fixup commit a551b0b8686bc266a2329a3215069895d591b0e9
[stream-file] Remove another lseek
[stream-file] Recover from a disk-full situation