Always do shallow fetches

When upgrading, we really only need the most recent commit, not all the
commits between our current version and the new one. By passing
--depth=1 to git fetch, we'll get just that (though there is a bug in
current versions of git that will give 2 revisions instead of 1, but
that will be fixed in a future version). This saves bandwidth when
downloading (git is still smart enough to not download any objects it
already has, even if it does not explicitely know that the new and old
revisions are related).
Remove update_revision option

This option wasn't actually used in practice and now that the fetches
are always shallow, there is no longer any guarantee that any commit,
apart from the fetched tip, is actually available, so the option is
really no longer useful.