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`.
I decided to use the native isNaN since valueOf will always return a number or NaN, so it shouldn't have to worry about the additional cases handled by the underscore version.