Fix for bug 14150 (and bug 14320)
This fixes a subtle problem in out seteof code which doesn't flush a pending writetime update if the set size equals the file size. Windows does this.
Windows also flushes a pending writetime update for SMB FLUSH requests, so this gets implemented too.
I'm piggy-packing two commits related to timestamps, both are not related to the bug.