ad3fb7b3

Author: Greg Pfeil <greg@technomadic.org>

Committer: GitHub <noreply@github.com>

Add property tests (#8)

This catches even more bugs.

It also restructures the type class hierarchy – `Calendar` is now
generic and has disjoint `CyclicCalendar` and `LinearCalendar`
subclasses.