DatesRole: be more resilient in the face of adversity.

- Settle on `undef` as a signal for failure.
- Maintain regex in a `state` variable.
- Return undef if it doesn't match our regex.
- Don't die if its still unparseable.

Also, add Test::Most and Try::Tiny to `dist.ini` just to give
@jagtalon something to do this week. :D