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.
Merge pull request #1382 from wiredtiger/os-x-fullfsync

fix durability support on OS X
Sync the metadata before swapping the turtle file into place.

This was always the intention, and it used to happen, but a change move the fsync outside the checkpoint/schema lock (336dc23) left out the fsync of the metadata.

refs #1383.
Merge pull request #1384 from wiredtiger/metadata-sync

Sync the metadata before swapping the turtle file into place.
Check for fallocate at runtime

On linux, if during configure, we find posix_fallocate, but not fallocate,
we try the syscall for fallocate to see if it works.  Going back as far as
RHEL 5.5, the syscall is in fact there and working, but not in libc.
Merge pull request #1386 from erh/fallocate_syscall_check

Check for fallocate at runtime
KNF
Refactor the fallocate call.
Explicitly test for WT_FALLOCATE_NOT_AVAILABLE, that way code doesn't
assume a value of 0 means something special and we can use an enum for
fallocate_available.
Don't lose real errors (we ignore the error the first time the stub
functions are called, so we can return the "real" error from them).
Fix comparison.
Merge pull request #1387 from wiredtiger/fallocate-refactor

Refactor the fallocate call.
Merge branch 'develop' into incremental-backup