Date parsing

Closes #99.

This will attempt to parse the original value passed in as a date, and if that fails then use `parseInt`.

This allows for values like `'1397631169892'` to still work, but to also get the full use of `Date.parse`.
This casts it as an integer instead of leaving it as a Date object, which is what the original code did.