Cache `Readlink` data
Currently Readlink is evaluated each time. Similarly to cacheOffset we should cache symlinks as well.
To ensure that Readlink is processed in a predictable time, using minimal amount of requests, especially that in some cases we need to perform symlink traversal.
Edited by Kamil Trzciński