tweaks to read-write handles:
tweaks to read-write handles:

* create the file if it doesn't exist, but don't truncate it if it does
  (as implied by the Report)

* ensure an fseek intervenes between reads and writes, as required by ANSI C.
  Thus these handles need 3 states, not 2.

FranklinChen/Hugs,FranklinChen/Hugs,FranklinChen/Hugs,FranklinChen/Hugs,FranklinChen/Hugs,FranklinChen/Hugs,FranklinChen/Hugs