Add -r flag and some speedups
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 <19a0ba370c443ba08d20b5061586430ab449ee8c@samba.org>

destenson/git,destenson/git,destenson/git,destenson/git,destenson/git,destenson/git,destenson/git,destenson/git