FLOW3 uses wrong Packages path via CLI if directories are symlinked
The paths for scanning directories for packages is currently determined by some relative path to the (real path) of the FLOW3 package. If Packages/Framework/ is in reality a symlink to some other FLOW3 installation (which must be possible), the back path leads to that installation - the wrong Packages path. This is only the case in CLI mode because when access from the web, the path is determined relatively to the Web directory (which is another problem, see #3990).
[+FEATURE] FLOW3 (Cache): The FileBackend now uses a shorter hash for the directory names which relaxes the situation for Windows users with a limited path length. The hash is now rendered from the Web path, SAPI type, process user name and application context. Please manually delete everything the Data/Temporary/ directory to get rid of old caches files.
[+FEATURE] FLOW3 (Configuration): The configuration manager now sets the FLOW3 setting "core.context" to the current application context. Resolves #4084
[+BUGFIX] FLOW3 (Core): Reimplemented the detection of various paths which are later available as FLOW3_PATH_ constants. Now supports any setup with symlinks which makes sense. It's important though that the flow3 script is a real file in the installation and no symlink. FLOW3's root path is now determined by an environment variable. This is optional in web mode but mandatory in CLI mode. The environment variable is set automatically by the flow3 script. Resolves #4082 and relates to #3990.
[+BUGFIX] FLOW3 (Package): Files in the directory Packages/ are now ignored by the package manager and the package directory scan was optimized for better performance. Resolves #4085
[~TASK] FLOW3 (Utility): The Arrays::trimExplode() function now removes empty values from the result by default.