libfuse: remove channel user data
libfuse: fix multiple close of device fd

- fuse_kern_unmount closes handle (e.g. 19)
- a thread in my process opens a file - the OS assigns newly freed
handle (i.e. 19)
- fuse_kern_chan_destroy closes the same handle (i.e. 19)
- a thread in my process opens another file - the OS assigns newly
freed handle (i.e. 19)
- * MAYHEM *

Reported by Dan Greenfield
- added a doxygen main page

- modified all examples to be included in doxygen
- modified the API documentation to have more details
- added the 490px_FUSE_structure.svg.png (c) wikipedia
libfuse: replace fuse_session_next_chan

Replace fuse_session_next_chan() with fuse_session_chan(), as multiple
channels per session were never actually supported and probably never will.
libfuse: clean up fuse_session

Clean up fuse_session related interfaces.  Remove the following from the
lowlevel library API:

struct fuse_session_ops;
fuse_session_new();
fuse_session_process();
fuse_session_data();
libfuse: clean up fuse_chan

Clean up fuse_chan related interfaces.  Remove the following from the
lowlevel library API:

struct fuse_chan_ops;
fuse_chan_new();
fuse_chan_session();
fuse_chan_recv();
fuse_chan_send();
libfuse: set FD_CLOEXEC also when receiving device fd from fusermount
libfuse: remove fuse_chan_(send|receive)

Move the fuse_chan_ops.send and .receive implementations to fuse_lowlevel.c.  The abstraction wasn't actually useful and made the the splice implementation more difficult.

Remove fuse_chan_ops.send and fuse_chan_ops.receive.
libfuse: remove fuse_chan_bufsize()

Remove fuse_chan_bufsize() from the lowlevel API.
fuse_session_receive_buf() is now responsible for allocating memory for the
buffer.
libfuse: remove session and chan abstractions

There's actually just one type of channel and session, so we don't need the
generic callback functions.
libfuse: fix multiple close of device fd

- fuse_kern_unmount closes handle (e.g. 19)
- a thread in my process opens a file - the OS assigns newly freed
handle (i.e. 19)
- fuse_kern_chan_destroy closes the same handle (i.e. 19)
- a thread in my process opens another file - the OS assigns newly
freed handle (i.e. 19)
- * MAYHEM *

Reported by Dan Greenfield
libfuse: don't close fd if it's -1

This prevents a valgrind warning.
Released 2.9.3
rewrote c++ style comments to c style coments mentioned by Miklos Szeredi
Merge https://github.com/qknight/fuse-fuse
Documentation fixes
libfuse: clean up struct fuse_file_info

Remove 'fh_old' which was an ABI compatibility field for a long time.

Make 'writepage' a bitfield.
libfuse: remove "-D_FILE_OFFSET_BITS=64" from fuse.pc

add AC_SYS_LARGEFILE to your configure.ac instead.
Use AC_PROG_CC_STDC instead of AC_PROG_CC

We do need a C99 compiler
libfuse: fuse -> fuse3

Allow 2.X and 3.X to coexist.  Includes are now stored under
/usr/include/fuse3 and library is named libfuse3.*.  Invoke pkg-config with
"fuse3" as the first argument to build with version 3 of the library.