Add support for write operations to S3FS

This is just to implement `onWriteFileRequested`  `onCreateFileRequested`, 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
Adding onCreateFileRequested is great, but again both should be tested separately.  Here should test an existing file.  Another test case should verify if create:true param or onCreateFileRequested truly creates a new file.