pass abbrev_commit to gbr_sha() and move it in gbr_dump_context

Our default sha printing length has been a global variable that's
set when parsing options. As we're moving the default "remote delta"
operation to a separate module, that gets unpleasant to deal with.

So just stash ->abbrev in struct gbr_dump_context and make gbr_sha()
take it as a parameter.
move 'prune' flag into struct dump_context

The default "remote deltas" operation can be instructed by --prune
to get rid of local branches whose remotes are up-to-date.

Move this global flag inside struct dump_context, so it's available
to commands that know about that instead of a dull global variable.