Cast milisecond strings to a date object

Some clients pass all values as strings, which leads to problems when trying to validate dates based on milliseconds, as they need to be cast to a number before `Joi.date()` accepts them as valid dates.

This PR adds the ability to automatically cast values like `"1401919200000"` to the correct `Date` object.