FilesystemProvider: handle virtual paths
The functionality of !318 (merged) is moved to the fileprovider :
- Allows to handle both local and remote locations in a single place.
- Other microservices e.g. vtkDatafileMicroservice never see real paths since replacements happed on the server side.
Remember, microservices should NOT hold any state !
Other improvements:
- We use simple string operations to replace paths this makes replacement faster since we only check the beginning of the path. Moreover, before it could replace non-root paths which is incorrect.
- "/" holds all mapped places.
Edited by Christos Tsolakis