cal: make user request to be part of read-only control struct

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
cal: determine how many header lines are needed at initialization

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
tests: cal: julian format is wide enought for big year numbers

The previous change made width determination not to waste any space.

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