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
Not really, using long for dates gives you the name of the day.
However, using long for the time gives you the `GMT+2` string appended, which is rather ugly:
https://github.com/owncloud/activity/pull/176#issuecomment-63831478