Finish converting unit test suites to shared suite

This PR finishes the works started in #42 and moves all tests for the FSP events into a generic top-level unit test suite that can be imported by every provider.

Before this can be merged, some bugs need to be fixed. For example, as described in #8, the WebDAV client does not return the correct size of a file in the metadata call, so the shared test breaks for it.

Closes #18
Not sure I understand this expectation correctly.
- why checking the first character and the last character only?
- what is string.should.have.length(512) for?  You verified contents has 512 length at line 106.  This doesn't seem necessary.