Improve `Directory` API
- Support (sandboxed)
follow_symlinksinFileBasedDirectory.descend(), in line withCasBasedDirectory - Add public
Directory.exists()method based on improved versions of the internal_exists()methods - Add public
Directory.open_file()method
This helps plugins being ported to virtual directories.
Part of #1262 (closed), and also #719 (closed).