Add support for write operations to S3FS

This is just to implement `onWriteFileRequested` and `onDeleteEntryRequested` for S3FS

Begins work on #41 
Closes #70

Tasks

- [x] Update WebDAV client to have HTTP PUT method so the S3 mock library can write files
- [x] Create new test case for writing files and checking written data is correct 
- [ ] Update `onOpenFileRequested` to accept the `create: true` flag and create the file accordingly if present
- [x] Update the tests for `onOpenFileRequested` so it no longer expects requests with `create: true` to fail.
- [x] Update test server logic to
  - Remove created files
  - Revert edited files
  - Restore deleted files
  
  after the test suite is run so the filesystem state is the same every time the tests start
I think both creating a new file and updating an existing files should be tested, and the tests should run separately.
Since you haven't added the creating new file feature officially, the test case of this change would be updating an existing file.