git-cvsimport-3: use git-update-ref to modify refs

Instead of the porcelain command "git-tag" use "git-update-ref" when
tags need to be renamed.

Signed-off-by: John Keeping <john@keeping.me.uk>
---
Is there a way to move a branch's reflog using plumbing commands?
git-cvsimport-3: checkout the new tree correctly

Once the import has finished, the branch pointed at by HEAD may have
moved.  "git checkout -q" isn't sufficient to change the working tree -
use "git checkout -f" as git-cvsimport-2.perl does.

Signed-off-by: John Keeping <john@keeping.me.uk>
---
Should we be asserting that the working tree is not dirty before
starting the import, in the same way the git-rebase does?
git-cvsimport-3: don't allow more than one module

Raise an error if more than one module is specified on the command line.

Signed-off-by: John Keeping <john@keeping.me.uk>
git-cvsimport-3: read configuration from git config

git-cvsimport-2 supports reading options from the Git repository into
which it was importing.  Make git-cvsimport-3 do the same.

Signed-off-by: John Keeping <john@keeping.me.uk>
git-cvsimport-3: change subprocess helpers to passthrough args

This allows us to use the do_or_die() and capture_or_die() helpers for
all invocations of subprocesses, even when we need to specify custom
stdin or stdout.

Signed-off-by: John Keeping <john@keeping.me.uk>