Added validPathStr() method
Avoid duplicated Marker Names
[BUGFIX]

Tx_Powermail_Domain_Repository_FormsRepository->findByUids : trimExplode is not correct (produces PHP warnings - Unknown class passed as parameter to TypeHandlingUtility)

fixes: #60841
[BUGFIX] Ignore language UID in findByUids()

The sys_language_uid is now ignored in the findByUids() method
in the FieldRepository.

Resolves: #58949
Releases: 2.1
Change-Id: I75cccc014487aa1feab2b5cb0b84670710971a0e
[BUGFIX] Prevent PHP error in OutputController

To prevent a PHP error in the OutputController when no TypoScript
template is included the initialization of the settings is moved
from initializeObject() to initializeAction().

In this method it is possible to build the controller context because
all required objects were initialized. The controller context is
needed for flash message display.

Resolves: #56198
Releases: 2.1
Change-Id: Ia6ac4b9ee4c25d171eb2719af20eb1fcda184069
[FEATURE] Enhanced Frontend output settings

Two new options are introduced to the Frontend output FlexForm:

settings.flexform.single.disable allows the single view to be
disabled. If this checkbox is set the link to the detail view is
hidden and the detail action will redirect the user back to the
list view.

settings.flexform.main.requiredFields allows the selection of fields
that must not be empty in a mail record. Otherwise it will not be
displayed. This allows the implementation of a select field where
the user can choose if he wants his data to be displayed.

Resolves: #57952
Releases: 2.1
Change-Id: I52beb8f912e357c8be53e6ac178a08a3d235d60a
[TASK] Overlayable temlate path configuration

The template path configurations are split into overlayable default
template paths (e.g. plugin.tx_powermail.view.templateRootPaths) and
into a standalone template paths that are used for StandaloneView
instances that can not handle path overlays (e.g.
plugin.tx_powermail.view.standalone.templateRootPath).

Change-Id: Ia39f6ff913537a50543c4384ef9ee3a6395faa26
[BUGFIX] Make setErrorAndMessage() public in AbstractValidator

This method needs to be public so that custom validator are able
to set error messages.

Change-Id: I5585d52654ca3238124e7851f6447ab35dc817b6
[TASK] Signal slot for Div::getVariablesWithMarkers()

Change-Id: I69922c2cd9fc86bb1864df6c12ee0f680894c62e
[BUGFIX] NULL as default for multiple select attribute

The default return value of the getMultiselectForField() method in the
Field domain model is changed from an empty string to NULL.

This makes sure that the name of single select fields will no longer
end with array brackets [] when the select is not multi valued.

Resolves: #60921
Releases: 2.1
Change-Id: Ic305f63024b8b5e0b8033f1c80170c7da2d60cd9
[TASK] Add signal to to SendMail::createEmailBody()

A new signal slot is dispatched before the rendering of the email
template in the createEmailBody() method of the
\In2code\Powermail\Utility\SendMail class.

Additonally some PHPDoc improvements and fixes are made and an
obsolete use statement is removed.

Resolves: #61038
Releases: 2.1
Change-Id: Iba81c49ead2a287a836ace3df9c763e4d1b0c778