Support very large (or very small) years

This fixes issue #30.