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
Well I've added the code for `onCreateFileRequested` to this PR now so is this okay?