[Date] Fix #1447 -  Date parsing and formatting

New date parser and formatter was creating errors in IE.

This has been corrected by:
- updating the `getGMTOffset` method to calculate the offset natively if the offset is not in the string
- moving `new Date().String()` parsers to a new method that provides an alternative parser for IE
- correct char look ups or older IE

All tests now pass manually in IE6 - 10 as well as Chrome, Firefox, and Safari.

Fixes #1447

Ping @lsmith @clarle @ericf @triptych