Add fsync(2), fdatasync(2), posix_fadvise(2) and posix_fallocate(2)

Filing this PR on behalf of @jimenezrick so it doesn't get lost

See also [GHC #8621](https://ghc.haskell.org/trac/ghc/ticket/8621)