Add -r flag and some speedups
The -r flag means "rev-list order", i.e. just display the commits
in the order they come from git-rev-list.
The speedups include:
- don't process the whole commit line-by-line, only the header
- don't convert dates when reading the commits, rather do it when
needed
- don't do the $canv delete lines.$id in drawlines when drawing the
graph initially (it was taking a lot of the total time)
- cache the date conversion for each hour (more important with tk8.5,
since [clock format] is a lot slower in 8.5 than in 8.4).
Signed-off-by: Paul Mackerras <paulus@samba.org>