Data file leaks lead to test failures

First commit merely adds asserts which will probably only ever fire under Windows. Second commit adds actual logic to close files in DataFileAccessor.close(), which is called by Journal.close().