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.