Concurrent writes and reads

Hey,

I added tests for concurrently writing & reading a larger amount of data, and the tests failed beause we we're using `fs.write` directly. Using writeStreams for the active file fixed those problems.

But using streams also means that `DataFile#closeForWriting` couldn't be synchronous anymore, and therefore I had to change a couple of other methods as well to be asynchronous rather than synchronous.
Wow! That was quick response!

Could I get a release out with this fix asap? I'm curious if it fixes some weird behaviours that I'e seen...