An attempt at introducing disk IO buffering via RPython
Minor cleanups and more confused/apologetic comments
Still not translating.

This makes a few adjustments to clean up the summary diff.  I fought
far too long with the annotater wrt strings with NULLs.  Needs help.
TRIVIAL: fixnig splelign erorr
Simplifying IO#read

per feedback from @timfel
Fixing File#truncate spec

and removing now-unused `ftruncate` wrapper func.
Replacing guts of IO#each_line to use internal buffer

and altering the tests to (correctly?) assert the line separator is
included.
Adding IO#sync and IO#sync= while I'm in here

and making the stdio streams behave the same as in MRI.  Unfortunately
this results in having to explicitly set `sync = true` in some tests
until I can figure out (or have someone tell me) how to properly flush
when leaving a scope.  Not happy.

Oh, and finally removed the IO#sysopen exclusion in the mspec config.
Flushing within IO#reopen and IO#close
Flushing during IO#seek plus moving IO#rewind to lib-topaz