#119: fixes and some tests

This adds string-based cycling classes, a few bugfixes, updates to isodatetime, and
tests to the #119 branch. A little bit of documentation has been started, but we
could nuke this from this pull request if we wanted.

It adds string-based cycling classes to allow memoized comparisons between
the string representations.

The tests added in tests/cyclers appear to work (as in run) except for:
 * multiweekly - see https://github.com/metomi/isodatetime/pull/32 for a fix for this
 * yearly, where the whole suite appears to go into a waiting mode at the foo.2006 task.

@hjoliver, please review.