magit-read-rev: raise error if user makes no selection

Do so by calling `magit-completing-read' with non-nil REQUIRE-MATCH.

There was only one caller for which getting nil back from
`magit-read-rev' made sense.  Reading the end rev in
`magit-read-rev-range' has been changed to not use `magit-read-rev'
to read the end rev.

There were several callers who did explicitly make sure the value
returned by `magit-read-rev' was non-nil before doing anything.
These asserts are no unnecessary and have been removed.  The fact
that such checks existed until now shows that people did run into
this problem and "fixed" it in the particular instance the noticed
without addressing the real issue; that has been taken care of now.
cleanup magit-ido-completing-read and magit-read-file-from-rev
magit-read-remote: make argument PROMPT mandatory
magit-refresh-log-buffer: cleanup
magit-refresh-reflog-buffer: split long line
revert bad refactoring
add magit-delete-tag and magit-read-tag
semantic and cosmetic cleanups

* magit-interactive-rebase: fix indentation, shorten long line, use
  `when' instead of `if'
* magit--branch-name-at-point: don't use `let', it isn't necessary and
  doesn't improve readability
* magit--branch-for-remote-repo: use `cl-mapcan' instead of
  (remq nil (mapcar ...))
* magit-remote-part-of-branch, magit-branch-no-remote: shorten long line
Fix regexp matching in magit-long-log

Previously when the graph had discontinued graph-lines the layout broke.
Such discontinued graph-lines occur for example when using `--author='
or `--grep='.  This commit fixes this.

As a secondary effect of this fix the git-log `-z' option is no longer
required.
magit-read-tag: fix typo
magit-key-mode-command: don't quote arguments to git

Git is invoked directly, there is no shell involved that would need the
the quoting to prevent splitting an argument containing whitespace into
multiple arguments.

In most cases the quoting is unnecessary when the argument contains
shell globs (to be interpreted by git not a shell) quoting did change
the globs, which is not what we want.
Add --branches/--remotes support to logging
magit-log-edit: shorten long lines
magit-get-top-dir: for default-directory by default

Make argument CWD optional; it it is unspecified
or nil default to the default-directory.
magit-read-rev: handle no input case directly

Relying on `magit-completing-read' was not correct because
that meant that it could not be used to complete the end rev in
`magit-read-rev-range', for which no selection does make sense
(i.e. leave the end of the range unspecified).

Instead `magit-read-rev' has a new NOSELECTION argument to be used
by the latter.  It now only raises an error when the user makes no
selection and DEFAULT as well as NOSELECTION are nil.

This also makes a bug in `magit-read-rev-range' go away that resulted
from forgetting an argument in the call to `magit-completing-read'.
Add -ab for --branches without argument
Merge pull request #679 from tkf/magit-key-mode-all-branches

Add -ab for --branches without argument
add headings for variable sections
Update README instructions to reference package-install instead of install-package when trying to install from ELPA.
Merge pull request #689 from divyekapoor/maint

Update README instructions to reference package-install instead of install-package.