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
Polyfill for Number.isNaN sounds better.  Also Chrome seems to have Number.isNaN at 37.