Use the new git index
Using the traditional Git index means replacing most of the "diff" code.
The decorators are slightly different from previous version too in that
the take the workspace settings for ignored resources into account (no,
not Git settings yet) and the '>' is placed before the text part of the
label, just like the CVS decorator.
Delete and move for files have been updated to work with the index.
Much of the old checkpoint tree code is still left, but much of it
is either obsolete or need updating to work with the index.
Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>