Add attachtab, restore README file

Restore the ability to create a "README" file in the mountpoint, but
leave it disabled by default.  Provide an "attachtab" file for use by
attach(1) and friends
Require Python 2.6

We want to require 2.6, because we're using Python 2.6 syntax in
exceptions.  This also means we can drop our own implementation of
defaultdict, since collections.defaultdict has been around since
Python 2.5
Drop support for python-fuse < 0.2

- We no longer need to support ancient versions of python-fuse, which
  required Stats to be returned as tuples
- Also, remove the try/except around the constructor.  The code will no
  longer throw AttributeError because fuse.__version__ will always exist
Switch to locker.py for locker resolution

We no longer import Hesiod directly, instead using locker.py
for locker resolution.  Also, don't raise IOErrors, just return
None.  If the locker is not found or unavailable, syslog if the
configuration says we should.  If any other error occurs, syslog
loudly.  Also syslog if lookup succeeded, but nothing could be
attached.
Transition from ConfigParser to our own subclass

Subclass RawConfigParser ourselves and use that, to allow for
better handling of defaults, as well as per-platform config files.
It also allows us to override getboolean() and always return a sane
value, avoiding a bunch of try/except blocks.

Add some new config values, including whether or not we should
syslog when lockers are invalid or not found.

Add a sample config file
Do not attempt to resolve invalid Hesiod names

Hesiod names can never begin with '.', so never attempt to resolve
them.
Switch to class attachtab from self.mounts

Supply our own class for the "attachtab" functionality, which is
just a subclass of defaultdict(dict), which is what we were
using before.
Add support for per-user attachtab

- Add support for a per-user "attachtab", which is a file with
  newline-separated records in the form
    mountpoint:path
- Rename the method to print the legacy attachtab
- Give the attachtab class a reference to the filesystem to get at
  things like the mountpoint.
- Also, actually use the mountpoint in the legacy attachtab format,
  instead of assuming /mit.
- Add a header line for the legacy attachtab format
- Override Fuse.parse() and store the mountpoint for later access
Update handling of readme file

- Catch KeyErrors if the user put a weird field in 'readme_contents'
  in the config file
- Use the mountpoint field in the class rather than checking fuse_args
  again
- There's a function to tell us if a string ends with a newline.  Use
  it.
Move all the "fake file" handling to a class

Add a dictionary-esque class to deal with fake files, whose
content can either be a string or a callable
Update FIXME comment in code

Instead of an arbitrary 'FIXME' comment, update it to refer to the
actual Trac ticket number