Helpful aliases for time comparisons

When creating a timeset, it's often convenient to reference other
timesets.  For example, a timeset representing all future Mondays can
now be `[future,dow(monday)]`  Users could implement these in terms of
compare_time/3 but they're common enough I think they should be in the
standard library.
Throw temporary exception for form_time(-,+)

The predicate isn't yet ready to generate all possible forms based on
a timeset.  I expect it to do this someday, so the documentation and
exception wording indicate this.
Allow datetimes to behave like forms

This seems completely reasonable since a datetime does in fact
describe a datetime.
Allow direct comparison of forms

One often wants to compare a datetime in one form against a datetime
in another form.  An intermediate value shouldn't be necessary.
Because I expect this usage to be so common, I added an example to the
documentation.
Prevent infinite backtracking on form rfc3339/1

When called like

    form_time(rfc3339(_), Dt)

We just want to wait until there's enough information to proceed.
Correctly format RFC3339 times with 0 seconds

The seconds portion only occupied a single digit.  It should always
have two.
Implement datetime math via delta_time/3

This predicate describes the duration that passes between two
datetimes.  I'm not happy with using label/1 to avoid the rounding
ambiguity.  I suspect this will cause me troubles later and need to be
removed.  However, it does address all the use cases I care about at
the moment and the API is correct so I should be able to fix it later
without hassle.