cal: use Claus Tøndering's day of the week algorithm

Reference: http://en.wikipedia.org/wiki/Determination_of_the_day_of_the_week#T.C3.B8ndering.27s_algorithm
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
cal: remove arbitrary limit of maxium year being 9999

The change limits year to be unsigned long. In case a year + month name
exceed a column width two lines are used for them.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
tests: check cal works when year is far in future

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
docs: cal: stop telling year 9999 is upper limit

Signed-off-by: Sami Kerola <kerolasa@iki.fi>