Add support for write operations to S3FS

This is just to implement `onWriteFileRequested` 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
Oh cool, didn't know that feature of Make. Yeah, probably better to use the native feature than a trick.