readdate: Print any text unused by the time calculation

Return the position of the start and end of the matched text

Add tests including years

Restore 'on day_name' match

(0) -4 +4 +10 tip

mercurial