set license metadata (LGPL)
Remove some print statements, and handle options for debug output and threads.
Merge remote-tracking branch 'ktdreyer/master'
The current list of major changes to the code.

Not intended for release yet, but just to keep track.
Fix a typo in documentation: trunctation -> truncation
Fix a typo in documentation: Separeted -> Separated
Inline POD fixups, and change =head1 poll() to =head3.
Code cleanups.

More perl-izing using list assignment and declaration.

Added more comments to clarify purpose of parts of code.

Tweaked layout a bit to match up better with the original C version
(mostly declaration/calling/assignment order bits here and there).

Separated %fuseargs declare/init from setting the 'mountpoint' element,
to better handle parsing options out before grabbing the mount point.
Add fix for RT #71271.

Seems that my utimens() addition inspired someone to notice the
lack of support in other codepaths for sub-second time resolution.
This fix takes the fractional portion of any mtime/ctime/atime
values and converts it into the appropriate nanosecond value, and
assigns that to the correct location in the "struct stat". Tested
on Linux 3.0 (Ubuntu 11.10), FreeBSD 8.2, NetBSD 5.1 and MacOS X
10.6 (Snow Leopard).
Updated Changes and fixed a couple indents.
Rewrite timestamp handling to support different representations.

Instead of just allowing sub-second resolution times to be passed
as the fractional part of a floating point value, also support passing
times as an array ref, with separate second and nanosecond portions.
Decided to do this because the floating point representation can lose
precision (it's represented internally as a double). It tends to get
squirrelly around about a tenth of a microsecond.
Added a mention about sub-second times to getattr documentation.
Don't override the include path if empty.
Lion compat for -lfuse_ino64 hack.
Support more accurate timestamps for utimens().

Added an option to Fuse::main(), specifically "utimens_as_array",
that causes timestamps to be passed as arrays containing the UNIX
timestamp (seconds since the epoch), followed by the number of
nanoseconds, instead of as a floating-point value, for better
precision. However, I've noticed that when (on Linux, at least)
you "touch" a file, which ends up with utimensat() getting passed
a NULL value for the timestamp array, the resulting timestamp that
utimens() gets always has a "0" for the nanosecond field. I think
that's a FUSE misfunction.
Documentation cleanups.

Correct docs for open(), utimens() and ioctl() ops to match up with
code changes.

Add a blurb explaining what removexattr() does.

Add an extra newline in the release() doc section to fully separate
two things that should be actually separate.
Fixing ioctl on 32bit arches.

Trying the ioctl tests on ppc netted a problem - seems that even though
I'm casting cmd to "unsigned int", unless I use "newSVuv" instead of
"newSViv", it ends up signed again anyway.
s/MacFUSE/OSXFUSE/g;

Instead of recommending the use of MacFUSE, suggest the newer, actually
maintained OSXFUSE. Keeping the MacFUSE compat hack for now, since it
doesn't impact OSXFUSE (and I just tested it on a Mac OS 10.6 system
in front of me; "make test" goes off with zero hitches).
Added a daemonize() function to account for certain conditions where the forked process would still die (e.g. if mounted as a home directory and the user logs in multiple times).
Get setsid() and provide absolute path for pidfile.