Updates the string version of the date to use PHP's IntlDateFormatter
which gives us translated dates in the appropriate format, based on
the user's locale set in backend preferences.
If ever there's a case where locale wasn't set or didn't match anything,
it would default to the system locale.
This is because the 'onInsert' callback is used for both actions, yet yielded different results causing breakages
Fixes#1281
Also improved code readability in some places