Properly handle all ISO formats when parsing date/time strings

The NativeDate class in Rhino 1.7R4 (the implementation of the JavaScript Date class) is very strict in parsing dates -- much stricter than the ECMA spec; if the date is not *exactly* in the format
it expects, it fails.

This changeset modifies the parsing/formatting code to use Joda-Time, which can properly handle all ISO formats.