Support for remoteStorage -02 spec

See https://raw.github.com/remotestorage/spec/master/draft-dejong-remotestorage-02.txt  for full spec

* [x] Support multiple revisions (comma-sperated) in `If-None-Match` headers on GET requests
* [x] HEAD requests for folders and documents contain all the same headers as with GET requests but omit the body
* [x] Add `Expires` header with value `0` to all responses
* [x] Add `Content-Length` header for documents on GET requests
* [x] Support for new directory listing format (see example below)
* [x] Remove ETag header from response for DELETE requests
* [x] Change response code for insufficient permissions to 401 (instead of
  403)
* [x] Respond with 201 code on PUT requests when document was newly created
* [x] Respond with 200 code code on successful DELETE requests (instead of
  204)
* [x] Check for name clashes between folders and directories and respond
  with 409 on PUT requests
* [ ] Support `access_token` query parameter for GET requests (optional)


### Example for directory listing:

```
{
  "@context": "http://remotestorage.io/spec/folder-description",
  "items": {
    "abc": {
      "ETag": "DEADBEEFDEADBEEFDEADBEEF",
      "Content-Type": "image/jpeg",
      "Content-Length": 82352
    }
    "def/": {
      "ETag": "1337ABCD1337ABCD1337ABCD"
    }
  }
}
```