Add Sinatra::WebDAV

This adds full WebDAV support (except for `#lock` method, see below) and fixes sinatra/sinatra#897 (also see sinatra/sinatra #912).

This is not to be merged yet, since `#lock` method doesn't work yet (it conflicts with existing `#lock` method for Mutex locking). This issue will be referenced here.