Configuring RTE fields TCA in defaultExtras section with static_write
enabled the DataHandler to write content to specific sections of files
in a specific directory.

This feature is documented and existed for a long time, but is not used
in the wild. Searching for keywords just revealed a very outdated
demo page, the according core source and documentation. No extension
or real live use case was found and even a call for feedback on this
by Benni half a year ago got no answers.

The patch removes this feature without substitution and improves
DataHandler performance as a nice side effect.

lib.parseFunc_RTE is not correctly configured by css_styled_content.
ul and ol elements must be recursively parsed through lib.parseFunc_RTE
(not lib.parseFunc). li element must be included in
nonTypoTagStdWrap.encapsLines.encapsTagList so that unwrapped content
of li elements is not wrapped in paragraphs.

In ReferenceIndex->generateRefIndexData the strings from all input and
text fields were collected in $this->word_strings. But the array was
never accessed. Remove ReferenceIndex->words (unused) and
ReferenceIndex->word_strings and the collection of word_strings. This
greatly reduces memory usage when bulk inserting or editing records as
well as updating the reference index.

Remove the useless check for the number of existing
files in the ExtendedFileUtility.
We now let FAL try to delete recursively by default.
It will tell us, if the permissions do not suffice
for the current user.

If someone adds a new value/label pair for a select field in
TCEforms/FormEngine, it is not possible to also add an icon to
the new option.
Alternatively, existing values can be changed through the new
"altIcons" property that acts like the "altLabels" property.

The patch adds another subelement for TSconfig to also add an
icon, as well as a new property.

Specially crafted request could lead to anchors prefixed
with URLs to domains controlled by the attacker on the
domain root page (home page). No other pages are affected!

Fix this by prefixing the anchors with a canonical URL
to the current request. This could lead to the situation
that the prefix does not match the current REQUEST_URI
which leads to a page reload instead of just "jumping" to the page section.

Additionally this change assures that REQUEST_URI always starts
with a slash, which mitigates similar attack vectors when using
getIndpEnv('REQUEST_URI')

To mitigate the impact of this breaking change, the REQUEST_URI
is used for anchor prefix if a backend user is logged in,
to not disturb the preview functionality of the home page.

In case prefixLocalAnchors is used in the HTML parser configuration
with prefixLocalAnchors = 2, always the canonical URL is used as prefix.

This change does *not* fix, that arbitrary (non functional) GET parameters
will be included in the generated prefix URL. To fix this it is recommended
to use absRefPrefix instead of baseUrl and prefixLocalAnchors.

Reduce memory consumption in DataHandler->processClearCacheQueue() for
bulk inserts by filling $tagsToClear as an associative array instead of
a normal array with array_unique()-call after each added record.

The placeholder configuration for a TCA field will now be considered
independently from the "mode" being set to "useOrOverridePlaceholder".
If a placeholder is set in the TCA it will be rendered. The mode
setting only changes the behavior of the NULL checkbox.

[BUGFIX] No RTE Transformation for subtype_value_field-fields of plugins

The RTE transformation depends on the result of BackendUtility
getTCAtypes. If the RTE field is in the subtypes_addlist of a plugin
the transformation is not performed. The patch adds the related
subtype fields to the return value.

When editing a translated record, a message
is shown of what is written in the original field.
Additionally, if the original record was modified
since the last change, a diff is shown. If an icon
is available then it is displayed.

The patch adapts the following things:

1. CSS classes are renamed in order to reflect
FormEngine and not old TCEForms namings.

2. If the original language does not have an icon
the label of the icon is shown again. This actually
a bug introduced when adapting sprites in FormEngine
and is now back to the original version.

Adding configuration file for DynamicReturnTypePlugin for PHPStorm.
The plug-in makes it possible to use code completion for dynamic
return types. plug-in allow a dynamic return type from method calls.
It can use either the instance type of the passed parameter or a
string look-up.

Since the ::class feature is used this is a good addition for all
developers.

In order to be able to remove the conf.php a few fixes are needed.
The module dispatcher checks for a conf.php file and results in a error.
The language labels for the module menu for example are missing currently.
This patch adds a possibility to register the labels also in addModule
function.

For automatic distribution configuration
like the introduction package, a dynamic
option to find out whether TYPO3 is installed
under "/" or "/mysite/" the TypoScript
option config.absRefPrefix = auto
calculates the absRefPrefix automatically.

Due to commit https://review.typo3.org/#/c/30240/ the comments from
javascript is removed and now the javascript is parsed with
config.xhtml_cleaning = all. This patch prevents any CDATA content from
being parsed.