prompt: don't scream continuation state

Currently, when performing any operation that saves the state and
expects the user the continue (like rebase, bisect, am), the prompt
screams:

  artagnon|completion|REBASE-i 2/2:~/src/git$

Lowercase the words, so we get a more pleasant

  artagnon|completion|rebase-i 2/2:~/src/git$

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
completion: add common options for rev-parse

Add support for completing 'git rev-parse'.  List only the options that
are likely to be used on the command-line, as opposed to scripts.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
completion: add common options for blame

Add support for completing 'git blame'.  List only the common short
options.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
completion: correct completion for format-patch

Currently, the completion for 'git format-patch' uses
__git_complete_revlist.  Although this is technically correct, and you
can

  $ git format-patch master contrib

where master is a ref and contrib is a pathspec, just like in 'git log',
the usage is unidiomatic and undocumented.  'git format-patch' is used
without pathspec filtering most of the time, and it makes sense to
provide sensible completions using __git_refs.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
completion: clarify difftool completion

'git difftool' is clearly a frontend to 'git diff' and is used in
exactly the same way, but it uses a misleading completion function name
__git_complete_file (aliased to to __git_complete_revlist_file).  Change
it to use __git_complete_revlist_file, just like 'git diff'.  No
functional changes.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
completion: clarify ls-tree, archive, show completion

Currently, the 'git ls-tree', 'git archive', and 'git show' completions
use __git_complete_file (aliased to __git_complete_revlist_file).

In the case of 'git ls-tree' and 'git archive', they necessarily require
a tree-ish argument (and optionally a pathspec filter, or "file
argument"):

  $ git ls-tree hot-branch git.c
  $ git archive HEAD~4 git.c

So, __git_complete_file is a misleading name.

In the case of 'git show', it can take a pathspec and default the
revision to HEAD like:

  $ git show git.c

(which is useful if git.c was modified in HEAD)

However, this usage is not idiomatic at all.  The more common usage is
like:

  $ git show HEAD~1
  $ git show origin/pu:git.c

So, __git_complete_file is again a poor name.

Replace these three instances of __git_complete_file with
__git_complete_revlist_file, without making any functional changes.

Remove __git_complete_file, as it has no other callers.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>