merge the stat and data records

This works, and it improves TestPerf's "time to access another file" significantly (because it cuts the number of transactions in half):

> Time to open file: 30ms
> Time to create file: 2ms
> Time to write/flush to output stream: 180ms
> Time to close output stream: 3ms
> Time to delete file: 48ms
> Time to close file: 1ms
> Time to reopen file: 1ms
> Time to access another file: 4907ms

But I want to think about further improvements a bit before we merge it, so I'm marking it WIP.

Note: this is based on the fs-perf branch, so it'll show a bunch of additional changes until that branch is merged.
When we'll support coalescing writes, I think we'll be able to remove this