[FEATURE] Dynamic locale detection

This provides a way of detecting an appropriate
Locale to use for each request. Shipped with Flow
are the DetectionStrategies Host, Cookie and AcceptLanguageHeader,
which will try to determine a Locale from these sources.
The Cookie's default name is assumed ``locale``, but
can be set to a different one via Object.yaml.

If a DetectionStrategy can not reliably determine a
Locale, it returns NULL in order to abstain, and the
next Strategy in the configured chain is evaluated.
If eventually none matches, no concrete ``currentLocale``
will be set, hence falling back to the ``defaultLocale``.

Setting a Locale chain would look like::

	TYPO3:
	  Flow:
	    i18n:
	      detectionChain: ['Cookie', 'AcceptLanguageHeader']

The array values can also be set to a fully qualified class name
which must implement \TYPO3\Flow\I18n\Detection\DetectionStrategyInterface.

Change-Id: I2ed434fe16106fed40a6a5f150dbf2946bd63ba0
Resolves: #49025
Related: #42408