Remove and ignore Gemfile.lock.

Libraries generally shouldn't include Gemfile.lock since their
requirements for gem versions are generally looser than an applications.
Relax requirement on rack.

Opens up Rack 1.4, 1.5, and any later version. We can change this if we
find a breaking version at some point.
Remove REXML references.

Switched to nokogiri a while ago.
It's bad form to require rubygems.

It's not needed in most cases.
Ignore vim swap files.
Defer setting :root as default to FileResource.

The :root option is really only used by FileResource and I don't feel
it's a good default for all resources (e.g. it wouldn't be used by a
database backed resource).

This localizes :root to FileResources since that is primarily where it
is used.
Add support for passing the rack environment along to the resource.

The reason for implementing this is primarily because we want to mount
RackDAV::Handler into a Rails application using the Rails router to
split paths.

For example:
mount "/(:domain)" => RackDAV::Handler.new(:resource_class => OurResource)

When requests come in we are then able to pull out :domain in
OurResource rather than having to parse the path again or write a router
resource.