Add multi_do macro
Update for latest nightly
Reformatting
Name of lib crate must not be same as name of C lib
Using () with Result seems common in the rust codebase, therefore not such a problem here
Export the FFI
fallocate is not part of fuse API 2.6--remove it
whitespace cleanup
The multi_do macro, while cute, is too noisy and is not worth it
Use macro for run_for_reply
Update for rust std changes--iterator -> iter
add .rust to gitignore
Add dispatch task, plus a bunch more updates

This commit was originally a sequence of trial-and-error commits that
are a bit of a mess. Rather than include them, or trying to turn them
retroactively into a separate commit for each of the below, I'm just
squashing them into here.  The changes in a nutshell:

There are now tests that can run under src/test.  So far it just checks
that the hello world filesystem works.

I no longer start an OS thread for each FS operation.  There is one
thread for the C API, which passes all commands back to a "dispatch
task" running on the default scheduler, which in turn starts a new task
on the default scheduler for each command.

I don't try to turn byte strings I get from FUSE into utf-8.  I still
use std::path in the public API, and therefore could run into some
problems due to mozilla/rust#7225 but that will be addressed here when
the underlying problem in std::path is taken care of.

The public API now consists of a FuseMount object whose existence is
tied to the mounting of a filesystem via FUSE.

There is a Makefile whose main purpose is to allow you to quickly run
the tests.  Once "rustpkg test" works, it may not be needed anymore.
Update README