Allow dates to be formatted in error messages

Allow users to format the dates displayed in errors.  Uses different format for each type. e.g.:
```yaml
en-GB:
  formats:
    date_validator:
      date_time: '%d %b %I:%M %p'
      time: '%I:%M %p'
```
Falls back to `:default` behaviour if no translation is found so will continue to format as it currently does.