ENH: HDFStore.flush() to optionally perform fsync (GH5364)

Pull request for #5364.

The ``fsync=False`` parameter was added to ``flush`` given this offers utility for non-distribution use cases, such as a user just wanting to ensure their data is regularly flushed to disk.

I could not see any mocking library in use in the Pandas tests, so I skipped adding one just to verify ``os.fsync`` actually gets called.