Add a DateTimeFormatter class which allows overwriting the language and ...

Fix #12227

ToDo:
- [ ] Write tests
- [ ] Bring back "Last year/month"
- [ ] OCP
- [ ] Add to service container with current user's locale and timezone as default
- [ ] Deprecate `Util::formatDate()` and `relative_modified_date()`

@DeepDiver1975 if you have a moment to look at the first implementation scratch
Short AGPL header please:

```php
 * This file is licensed under the Affero General Public License version 3 or
 * later.
 * See the COPYING-README file.
 */
```