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.