[S32::Temporal] Add Duration object.

Allows creation similar to DateTime objects and provides some accessor
methods (the Duration in years, or days, etc.).
[S32::Temporal] Expand valid ISO 8601 formats.

Temporal now specs support for almost the entire ISO 8601 range of
formats. It almost feels like there should be a separate ISO 8601 header
in this document :) .

The only unmentioned piece of ISO 8601 is the interval specifiers, of
which durations are a part. My suspicion is that:

    format...           is usable in...
    <begin>/<duration>  DateTime constructor
    <duration>/<end>    DateTime constructor
    <begin>/<end>       Duration constructor

Where each constructor calculates the missing piece and uses that as a
result (end date, start date, and duration, respectively.)

Also missing is C<Instant> documentation, though I'm not sure what to do
with that.