magit-stage-modified: do what doc-string sais
add magit-confirm-files, improve magit-confirm

Also adjust the various callers and the option `magit-no-confirm'.

This is another milestone in the efforts to make completion consistent.
Here we do so by coupling confirmation with completion.

When a command can either (a) do something with the items represented
by all sections in the region, (b.1) the item represented by the
current section, (b.2) some item which is the default for some other
reason or (c) an item read using the minibuffer, then combine (b) and
(c).  I.e. instead of asking "Delete branch master?", give the user
the opportunity to confirm, abort _or_ to choose another branch:
"Delete branch (default master):".  This is especially useful because
the default is not always the thing-at-point, so we would have to
request confirmation anyway.  When the default is what the user wanted
then "RET" is just another way of saying "yes", and "C-g" means "no".

If the user only had the choice between "yes" and "no", then we would
have to provide another way to pick something other than the default,
i.e. using a second command or a prefix argument.  That's much less
convenient.

For such commands which may act on the selected section(s) _or_ some
other default, do _not_ provide the possibility to disable confirmation.
If acting on one item requires confirmation, then acting on multiple
items should also require confirmation.

For other commands which may act on a single thing or multiple things
but in a fully predictable way (always act on the section at point or
the sections in the region) we don't allow the user to pick something
other than the default.  In these cases allow disabling the need for
confirmation.  This mostly concerns commands that act on files.

Finally there are commands that perform actions that are not tied to a
certain a set of items out of a larger possible set, e.g. aborting the
ongoing merge.  Here too allow disabling the need for confirmation.
magit-branch-delete: support deleting branches in region
consistently use branch name as value of branch sections

Previously the value of some of the branch sections was the full ref.
In the long run it would probably be better to use the full ref, but
there currently to many things that expect otherwise.
magit-branch-delete: force delete with prefix again

This fixes 2db4566c3f55d8621731dfc9e54f575c05b0db34 which accidentally
removed the option to force deletion of unmerged branches by using a
prefix argument.
magit-branch-delete: cosmetics
magit-backup-mode: enable by default again

This might be causing performance issues on large repositories and
we might disable this again before the release, but currently a lot
of things are changing rapidly and it's a good idea to have reliable
backups.
magit-diff-wash-revision-insert-related-refs: new variable

This is only intended as a temporary workaround for
https://github.com/magit/magit/issues/1529#issuecomment-61178078.
magit-{modified,untracked}-files: bugfix

`git ls-files' does not support `--ignore-submodules' so in
`magit-modified-files' use `git diff-files' instead and remove
`magit-untracked-files' NOMODULES argument.
magit-insert-rebase-sequence: bugfix
temporarily disable commands magit-stash-{index,worktree}

They eat data.
magit-diff-type: bugfix
magit-branch-set-upstream: bugfix

Cannot use `magit-read-local-branch' because user has to be
able to _not_ select a branch in order to _unset_ upstream.
magit-push-tags: cosmetics
magit-pull: fix doc-string
magit-copy-as-kill: use full hashes
magit-diff-{,refresh-}popup: fix typo
magit-branch-set-upstream: bugfix
magit-request-pull: don't prompt for branch

Because we don't actually use the selected branch.  We should
actually allow picking a branch but that will come later.
magit-clone: cosmetics