adds support for converting dates to/from ISO8601 strings

Accounts for user's time zone and calendar settings. Safe for data interchange with servers or for caching.