fix durability support on OS X

OS X fsync isn't sufficient, use fcntl(F_FULLFSYNC) instead; note that F_FULLFSYNC isn't supported on all OS X filesystems, fallback to fsync if F_FULLFSYNC fails.