[BUGFIX] Fix runtime evaluations with global objects

After the vendor namespace changes, the configuration manager
didn't work as supposed and global runtime evaluations on aspects
or policies failed. This change switches to the now available
getSettingsByPath method of the ObjectManager which should also go
to the interface. Also some cleanups are applied and a functional
test for global objects is added.

Change-Id: Id3b7c348b1684f4774419203e68ed1e71c7a1be9
Merge "[BUGFIX] Fix runtime evaluations with global objects"
[FEATURE] Hide internal commands in command line help

Internal commands can now be marked as such by starting the description
(in the doc comment) with "Internal:". Those commands won't appear in
the output of the help command.

Change-Id: I467ded04234cdd8eb11f9f7844508f4a9940477f
[BUGFIX] Command is not run in compile time if identifier is abbreviated

This patch makes sure that compile time commands are always specified
by their full command identifier.

Change-Id: Ibf218e690c1763c09c56ca1886297ffc06604a1f
Resolves: #28294
[FEATURE] A console log backend

Change-Id: I08892958bb76b40461a3b708f7bf58ee21e78c81
[BUGFIX] initialize commandMethodName in CommandController

Besides this fixes a typo in an InvalidArgumentTypeException message

Change-Id: Id44c955e9cbc2b37045a9cabacb5c0d244ba0e93
Merge "[BUGFIX] Command is not run in compile time if identifier is abbreviated"
Merge "[FEATURE] Hide internal commands in command line help"
[BUGFIX] Properly escape and quote CLI arguments

Currently arguments that are passed to the system() function in
Bootstrap::executeCommand() are not properly escaped.
This leads to errors if arguments / paths contain spaces.

Change-Id: Ief9eb0e1800cd9810867e607ba66456dcbb3ee4e
Resolves: #27995
[BUGFIX] It should be possible to disable Doctrine integration

This change introduces a setting to control the integration of Doctrine
in the bootstrap of FLOW3. For non-Doctrine persistence backends no
Doctrine code should be invoked, otherwise warnings about missing
driver or driverClass options will occur. And there is no need to
do proxy code compilation for Doctrine if it's not used.

Change-Id: I0ae80d2106c758d12242805ed20becb696e75da8
Resolves: #28228
[FEATURE] CLI CommandManager

This change adds a CommandManager that should be used as central
service whenever dealing with CLI commands.
Besides the HelpCommand is cleaned slightly and makes use of the
CommandManager internally to avoid code duplication.
This is a refactoring, that doesn't introduce new behaviour.

Change-Id: I1f443869a6b93b551e8ffd5bc3957a6935310869
Resolves: #28172
Merge "[FEATURE] CLI CommandManager"
[!!!][TASK] Clean up MVC\Request hierarchy

The MVC\Request class was only extended by MVC\Web\Request any longer,
thus this change moves the code into Web\Request.

Change-Id: If8bb5f383f9204f9f7638292f6680ba86aca846b
Resolves: #25886
[+BUGFIX] (Reflection): Only detect tags when they are at the beginning of a line

We should not detect tags like @param foo when they are at the beginning of a line,
and not inside freeform text.
We still use a heuristic, by searching for '* @' now, as using a RegExp here could
have severe performance penalties.

Functional test adjusted.

Change-Id: Ic8440a8d95c8444573d49a0cbce684b1f7dbad48
Fixes: #28327
[+BUGFIX] (Validation): Only add a property validator when the built validator is non-empty

This is mainly a performance improvement, but additionally is a workaround for
working with TYPO3CR Nodes. The error has surfaced when adding new content.

Change-Id: I487827d22017d36c2c86a28abe3c548a79095927
Merge "[FEATURE] A console log backend"
Merge "[+BUGFIX] (Validation): Only add a property validator when the built validator is non-empty"
[BUGFIX] Allow command controllers in packages without vendor name

Change-Id: I9e49719b8aeb4085f4a8d9a988c5d69632e7cdfb
[BUGIFX] Fix table name inference for packages without vendor name

The current way of guessing the table name for Doctrine metadata
was fixed to a specific package naming. Multiple vendor names
("Com.MyCompany.MyPackage") and a missing vendor name were
not supported correctly. This change fixes these problems and
is compatible to the current algorithm for package keys like
"TYPO3.FLOW3" or "TYPO3.Party".

Change-Id: I276149c5d651ba11d6179b56684a6a480efdef55
[FEATURE] Use ACLs and common interface for set file permissions

This enhances the set file permissions script to use ACLs if supported
by the file system and operating system. The advantages are more
flexibility, reliability and faster execution of the script.

This change set also integrates the set file permissions script into
the general command line interface. Thus the file permissions can now
also be set by executing:

   ./flow3 core:setfilepermissions john _www _www

Change-Id: I9d575f03339961f559676ca36b9af2bee46adb15