Islamic calendar implementation.  Fixes #27