Test for membership in TimeRecurrence

It is useful to check whether a given `TimePoint` is
a member of the series of a `TimeRecurrence`.
This is useful for @hjoliver's work on cylc/cylc#887.

This adds that functionality and adds more tests for
the adding and subtracting API for TimePoint, fixing
some bugs as found by the new tests.

@arjclark, please review.