prevent directory traversals below _base_ (fixes #2):

- unify read and size into Fs_common
- introduce check_filename which uses realpath to ensure that requested name is below base
- guard all file system accesses with check_filename
Another alternative is to use `stat` and `st_kind` and `readlink` to reimplement `realpath`.