magit-merge-check-clean: merge into magit-merge

Merge `magit-merge-check-clean' into `magit-merge'.

Always perform the check, not only in the interactive case.
Previously that was done inside `interactive'.
magit-checkout: don't assert magit-read-rev returns non-nil

Because we know it always does.
If it can't then it raises an error instead of returning.
magit-create-branch: don't assert magit-read-rev returns non-nil

Because we know it always does.
If it can't then it raises an error instead of returning.
magit-rename-branch: don't assert magit-read-rev returns non-nil

Because we know it always does.
If it can't then it raises an error instead of returning.
magit-read-rev-with-default: remove unused UNINTERESTING argument
magit-commit-at-point: ignore `revision' text property

In `magit-commit-at-point' if there is no appropriate section at point
do not also check for the `revision' text property.  We never set that
property.
magit-commit-at-point: use magit-section-case
magit-delete-branch: use magit-read-rev

In `magit-delete-branch' use `magit-read-rev' instead of
`magit-read-rev-with-default', which will allow simplifying the latter.
magit-read-rev-with-default: remove NO-TRIM argument

Remove `magit-read-rev-with-default's now unused NO-TRIM argument.
Also remove the doc-string, it would have to be reworded not only
to remove the note about NO-TRIM, and that's not worth it at this
point.
magit-delete-branch: don't use magit-default-rev
magit-default-rev: remove NO-TRIM argument

Remove `magit-default-rev's now unused NO-TRIM argument.
magit-delete-branch: don't use magit-commit-at-point

Neither a hash nor something like BRANCH~ is a branch; therefor it
cannot be deleted as a branch.  After this change the user is no longer
offered to delete a hash "as a branch", BRANCH~ unfortunately might
still be suggested.
magit-guess-branch: don't fallback to magit-get-previous-branch

Instead do what the doc-string sais: return nil if the section context
at point does not suggest a branch.

This affects the following functions:

* In `magit-default-rev' explicitly fallback to
  `magit-get-previous-branch'.  We will deal with *its* callers
  separately.

* In `magit-merge' and `magit-delete-branch' explicitly fallback to
  `magit-get-previous-branch'.  It is probably rather common that one
  wants to merge or delete the previous branch.

* In `magit-interactive-rebase' *don't* exlicitly fallback.  This might
  be desirable sometimes, but rebasing to the previous branch is not
  how *interactive* rebase is most commonly used.

* In `magit-reflog' use "HEAD" as fallback.  That was already used as
  fallback there but was never used because of the less useful fallback
  `magit-guess-branch' provided until now.
magit-checkout: use magit-guess-branch

In `magit-checkout' use `magit-guess-branch', or if that returns nil
`magit-get-previous-branch' to determine the default branch.  Previously
`magit-default-rev' was used but in many cases that ignored a potential
default.
magit-reset-head{,-hard}: use magit-guess-branch

In `magit-reset-head' and `magit-reset-head-hard' use
`magit-guess-branch' to determine the default branch for completion.

Previously `magit-default-rev' was used but in many cases that ignored a
potential default.  Also the explicit fallback "HEAD" (or "HEAD^") is
now much more likely to be used.  Previously the "previous branch" was
used as fallback (in `magit-default-rev') and that almost never is
nil (and makes much less sense).
magit-tag: use magit-guess-branch

In `magit-tag' use `magit-guess-branch' to determine the default offered
during completion of the ref/rev to be tagged.

Previously `magit-default-rev' was used but in many cases that ignored a
potential default.  Also the explicit fallback "HEAD" is now much more
likely to be used.  Previously the "previous branch" was used as
fallback (in `magit-default-rev') and that almost never is nil (and
makes much less sense).
magit-bisect-start: use magit-guess-branch

In `magit-bisect-start` use `magit-guess-branch' instead of
`magit-default-rev' to get the default for completion of the
"good" revision.
magit-default-rev: merge into magit-read-rev-with-default

Merge `magit-default-rev' into `magit-read-rev-with-default' which by
now was its only caller.
magit-read-rev-with-default: fallback to "HEAD"

In `magit-read-rev-with-default' fallback to "HEAD" instead of the
previous branch when `magit-guess-branch' cannot find anything at
point.  That makes much more sense for all of its callers.
magit-reflog: use magit-guess-branch

In `magit-reflog' use `magit-guess-branch' instead of
`magit-commit-at-point' to get the default branch for
completion, the former more often returns something.