[!!!][FEATURE] Improve error and message handling

ERROR HANDLING:
- Error\Result as base class for generic "Results" (used by validation
  and by Property Mapping)
- Error\Message as base class for a generic error message, with
  subclasses Error, Warning and Notice.

This is a backport of f25803698d14e994a8c6582c6d47299ded2ca567 from FLOW3.

Resolves: #27650
Related: #27059
Change-Id: I6882744fb0121f2faa7733b250bef88b34e550a9
[+FEATURE] (Utility): synchronize TypeHandling class with FLOW3

Also backports unit tests from FLOW3.

Resolves: #27651
Related: #27059
Change-Id: Ia76dfef73ad9833305a5493114cf99c99ce02157
[+FEATURE] (Reflection): Object Access can now access private properties

Resolves: #27652
Related: #27059
Change-Id: I93a31053f29e18791539033e262f32b41f21222e
[+FEATURE] (Persistence): Synchronize PersistenceManagerInterface more with FLOW3

* adds the methods getObjectByIdentifier and getIdentifierByObject directly to
  the Persistence Manager and interface, and marks it as public API.

Resolves: #27657
Change-Id: I14c4b5bad2d91d86801cb6ac873993f8e75a371b
[+FEATURE] (Property): Add new property mapper

This changeset adds the new property mapper, alongside of the old one.
It is not used yet in the MVC framework.

Related: #27059
Change-Id: Ibc71a99a16f995ba608b1e1de61c7c9fcf4dc784
[!!!][+FEATURE] (Validation): Adjusted and re-done Validation API

* Completely reworked Validation API, adjusting all validators.
  Validators now return a Error_Result object.
* Validators can now be singletons or prototypes
* Validator options are passed in the constructor

The whole change is *backwards-compatible*, so all default validators can be
used with the new MVC stack in Extbase 1.4, and with the MVC stack in
compatibility mode.

The same goes for *custom validators* which extend *AbstractValidator*. They
are automatically upwards-compatible.

!!! If an extension author directly implemented the *ValidatorInterface*,
he needs to adjust his validator to support the new API.

Resolves: #27653
Change-Id: I6b3c9f4a629728f7e1fa2cd672f38f69c7321f52
[!!!][+FEATURE] (MVC): Modify MVC stack to use the new property mapper

* use Error_Result for validation errors and property mapping errors
* use new Property Mapper
* use new validation API
* removed @dontvalidate annotation, and replaced it by @ignorevalidation.

The new behavior is only exposed when the feature flag is enabled.
For testing this functionality, follow the instructions in the related issue.

This also brings the AbstractController and ActionController in sync with
FLOW3 again.

Resolves: #27656
Change-Id: I4c888f42eb6e366b2a939e129c6ae3b60eb03581
[+FEATURE] (ViewHelpers): Adjust Fluid to new Property Mapper

make sure to merge the relevant Extbase changes as well when testing.

Related: #27656
Change-Id: Iba7f9559440445d4439a5d2964fa1b3daac7d5bc
[TASK] Recreate ext_autoload.php

Using the Extension Development Evaluator

Change-Id: Ifeaacb40bef0295ab446ac187ee348637e9e6eb9
Related: #27680
[TASK] Recreate ext_autoload.php

Using the Extension Development Evaluator

Change-Id: Icb8ad8b2190dba8ea27a2bd36669d7bb71d2b4ee
Resolves: #27680
[BUGFIX] Fix Widget support

This is a hotfix for the broken widget support (see #27783)
Besides it fixes some unit tests that were red since the
PropertyMapper backport

Change-Id: I28e3dea2ce51df419ffe563c33b7ef2abb4b3027
Resolves: #27783
Merge "[+BUGFIX] ObjectStorage->toArray(): fix array pointer problem"
Merge "[BUGFIX] Remove check for TYPO3_UseCachingFramework"
Merge "[BUGFIX] Versioning with context menu is visible if workspaces are enabled"
[TASK] Cleanup draft workspace usages

The draft workspace is deprecated since 4.4, this patch
makes sure nobody is able to continue using it and
cleans up the related codes.

Change-Id: I1579a193fb5d8c697851924a1a18fc80a274884e
Resolves: #27952
Releases: 4.6
[TASK] Add XLIFF files

Remove old LLXML file and add new version as XLIFF

Change-Id: If7f18c41841d811746fdb13edf4c533b02056dbe
Relates: #25397
[BUGFIX] Wrong CGL style of boolean values

Change-Id: I372536fcae4a618185b0a38dcd227fd3b6b5868e
Merge "[TASK] Cleanup draft workspace usages"
Merge "[TASK] Add XLIFF files"
[FEATURE] Include preview link in notification

Until now there haven't been a preview link in the notification mails.

With this feature there are two new markers that can be used in the
notification template. One marker for the workspace preview link and
one marker for the splitted workspace preview link.
Additionally this feature adds a hook, so it is possible for a
developer to add severall additional markers.

The preview link for the splitted workspace view goes across the
backend login screen. If an user has no valid backend session he
can simply login and after an successfull login he will be redirected
to the desired worskpace view. If the user already logged in to the
backend he becomes directly the workspace module without any new
login.

If the recipient of the review email was last time logged in into the
live WS. The workspace will now forced (if the permission allows) to
the desired WS where the changes are present. Otherwise it's not possible
to get the splitted preview screen running.

Change-Id: Ifec84d7475aa111cc55a0fb2915d3ddfa6c5fcc4
Resolves: #13518