showDateSpan: handle boundary-crossing 1-day spans

Eg recognise that 2014/11/30-2014/12/1 can be abbreviated to
2014/11/30d, similarly 2014/12/31-2015/1/1. Doesn't handle feb 29th
correctly, so eg 2000/2/28-2000/3/1 is wrongly abbreviated to
2000/2/28d.
cli: with a repeated flag, the last takes precedence

This is helpful eg for customising your reporting command aliases on the fly.
balance: with --tree and --flat, use the last (fix #219)
doc: manual: clean up flat/tree docs slightly