Fix missing config.h in buffer.c

Due to an oversight, splice will never actually be used for i/o.  Someone forgot
to #include "config.h" in lib/buffer.c (in fact almost no files include that
header).  As a result, even though configure detects splice support and puts
HAVE_SPLICE in config.h, buffer.c is always compiled as if there is no splice
support.

Also add #include "config.h" to fuse.c and fuse_lowlevel.c.  These currently
include it indirectly through fuse_misc.h, but we don't want to depend on that.

Reported by Matthew Gabeler-Lee
Fix deadlock in libfuse

Running "svn update" on a fuse filesystem could deadlock because of a bug in the
way the paths are locked.

Reported by Kazuaki Anami
Released 2.9.2
libfuse: fix crash in unlock_path()

Patch by Ratna Manoj.

queue_element_unlock() should set ->first_locked and ->second_locked to false.

Discovered with 'fs_racer'.  The assert(wnode->treelock == TREELOCK_WRITE) in
unlock_path() was hit within minutes.

Miklos: simplified patch
libfuse: fix the 'remember' option

The lru list was not initialized for the "/" path.  This resulted in
remove_node_lru() crashing on LOOKUP-DOTDOT.

Patch by Madan Valluri.
--
 ChangeLog  |    4 ++++
 lib/fuse.c |    4 ++++
 2 files changed, 8 insertions(+)
libfuse: configure: detect new util-linux

Apparently new versions of util-linux umount return with an exit status of 1
even if the "--fake" option is recognised (despite being documented otherwise).
Check this condition and don't complain about util-linux version.
libfuse: Use AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER

AM_CONFIG_HEADER has been deprecated for years and autotools 1.13
removes this macros at all.
libfuse: rename ./configure.in to ./configure.ac

Next version of automake (1.14) removes support for the deprecated filename

http://lists.gnu.org/archive/html/autotools-announce/2013-01/msg00000.html
Merge branch 'fuse_2_9_bugfix'
Create doc/.gitignore
libfuse: fix fuse_get_context() in non fuse threads

fuse_interrupted(), fuse_get_context(), etc... crashed in non-fuse threads.

Instead return false, NULL or error depending on the function.

Reported by Michael Berlin
libfuse: set close-on-exec flag on pipe file descriptors

The FUSE library may be used from any number of programs which
may also fork() + execve(), so set the close-on-exec flag to
avoid inadvertant leakage of pipe file descriptors.

While we're at it, attempt to use pipe2() since this is within a
(currently) Linux-only code path and pipe2() offers thread-safety.
Merge branch 'master' of git://fuse.git.sourceforge.net/gitroot/fuse/fuse