Simplify jgit ProgressMonitor interface and fix TextProgressMonitor
We don't need a big progress monitor interface like the one it
was patterned after. All we really need is a way to tell the
implementation what we want to supply it, which is the start of a
task, a message describing it, and the work done.
The TextProgressMonitor no longer outputs thousands of lines with
500000% done while running IndexPack. Instead we compute percent
complete and pad out the line nicely, and use CR to reset back to
the beginning of the line. LF is used only to terminate the line
once progress output is complete.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>