Rename type OpenFlags to OpenResponseFlags

All the other OpFlags (InitFlags, ReleaseFlags, WriteFlags) are flags
on the request, but OpenFlags was flags on the response, and
OpenRequest has a Flags field of its own. This should minimize
confusion down the line.
Do not repeat operation and header in debug output "<-" lines
Remove ReadRequest.Mode, it was never filled

The only reason it was there was because of false sharing of openIn
struct with opCreate. File/directory create requests contain a mode,
but Open is always referring to a pre-existing entry.
Test chmod
Test OpenRequest.Flags; zero hard-to-handle O_LARGEFILE bit

The os.O_LARGEFILE flag Go exposes is not the O_LARGEFILE Linux has,
and more importantly Go's version has value 0 for amd64. This is
annoying to handle, and what ABI/API the client side chooses to talk
to VFS is irrelevant for the protocol talked VFS->FUSE->us.
Test CreateRequest.Flags, Mode; zero hard-to-handle O_LARGEFILE bit
Refactor create flag mangling into openFlags
Fix and test MkdirRequest.Mode

Force mode to be directory in mkdir before calling fileMode, not after
it. On Linux 3.11, in.Mode == 0755, specifically in.Mode&S_IFMT==0,
and this caused fileMode() to go into its "no idea" branch and mark it
as os.ModeDevice. The resulting mode was `dDrwxrwxr-x`.
ReleaseRequest.Flags is an O_APPEND-style flag too
Give OpenFlags its own type, pretty-print

This adds some type safety, but most importantly makes the debug log
easier to read.
Make git ignore common editor autosave and backup files

Thanks to David Roundy.
Spawning fusermount now works on Linuxes that put it in /usr/bin

We used to assume fusermount is always /bin/fusermount, but it seems
many RPM packages put it in /usr/bin. Let it be found via PATH.

Thanks to Brad Fitzpatrick and the Camlistore project.
Handle Fsync on a directory

Thanks to Brad Fitzpatrick and the Camlistore project.
Support Getxattr

Needed by Camlistore. This implementation is from-scratch and does not
use the work in Camlistore's third_party directory, opting instead to
stay closer in style of the existing code.

Noteworthy difference: Camlistore picked ENOATTR as the error for all
platform Getxattr calls to return. As this seems to be only used by OS
X, I'm opting to use ENODATA instead, consider OS X the odd one out,
and translate ENODATA to ENOATTR on darwin.
Support Listxattr
Support Setxattr
Support Removexattr
Getxattr returns ERANGE if data won't fit
Listxattr returns ERANGE if data won't fit
compile fix for darwin