magit-{,un}stage: allow staging region of files

Note that this will un-/stage the file on the current line even when
point is at its very beginning.  So it behaves more like e.g. dired
than the un-/staging of a region within a hunk.  Also both mark and
point have to be on a file heading.  Not on the diff within, *on*
the heading.