build-git: Create and use enable_sudo() to avoid future code duplication

16058136-c8a2-11e3-a623-fefdb24f8e10
build-git: Don't install as root

Instead, create the destination directory and chown it to the current
user. This ensures that "make install" doesn't try to touch directories
that it shouldn't.

eed530ac-c8ab-11e3-9d77-fefdb24f8e10
git-update-dirs: Execute "ga repair" if $Opt{'compress'} && $is_annex

git-annex repositories sometimes gets corrupted if "git gc --prune=now"
is executed there:

  git-update-dirs: Executing 'ga repair'...
  Running git fsck ...
  No problems found.
  Had to delete the .git/annex/index file as it was corrupt.
  No data was lost.
  ok

This is fixed by deleting .git/annex/index, something "git annex repair"
does if it's corrupted. If it's ok, it doesn't touch it.

6d89a478-c94c-11e3-872c-fefdb24f8e10