Add date shim to fix cross browser issues with parsing ISO-8601 dates

It turns out that my fix for #538 doesn't correctly handle timezones in dates. This date shim detects whether the browser can correctly parse certain dates and if it can't will shim the date and use a custom parsing implementation.

This PR also updates the date transform to use the shim for parsing dates.

The code was taken from this [stackoverflow answer](http://stackoverflow.com/a/9363445/1555903).