magit-read-{*}: rename argument DEFAULT to SECONDARY-DEFAULT

The functions `magit-read-branch-or-commit',
`magit-read-range-or-commit', `magit-read-local-branch',
`magit-read-other-branch' and `magit-read-other-branch-or-commit', take
a default choice as argument.  However it is not actually *the* default.
It's only a secondary default which is used when the actual default is
nil, so name the argument accordingly.
magit-branch-and-checkout: also starting from a stash

This uses `git stash branch' internally, which creates a branch, checks
it out, and then even modifies the index and/or worktree.  The last part
can be a little confusing for someone using `magit-branch-and-checkout'
with "stash@{N}" as starting point for the first time.  It would be even
more confusing when regular `magit-branch' ("and not checkout") did it,
so don't.
magit-status-refresh-hook: new hook variable

An unadvertised hook `magit-refresh-status-hook' already existed,
so this actually just changes the name and defines it as a custom
option.  The old name is now an obsolete variable alias.
magit-blame: start second run in correct directory

The let-binding for `default-directory' established early in
`magit-blame' is no longer in effect when `git blame' is run
the second time; establish another.
magit-diff-highlight-recursive: cosmetics
magit-diff-wash-revision: bugfix
magit-revision-insert-related-refs: new function
magit-get-{current,next}-tag: add optional REV argument
magit-revision-insert-related-refs: as a pretty group

Use a new section as the parent of all sections representing related
refs.  Make them prettier, taking inspiration from how the diffstat
is displayed.  Move the new section just before the diffstat.
magit-revision-insert-related-refs: cosmetics
Makefile: explicitly call package-initialize

See #1635.
Makefile: cleanup whitespace
magit-diff-wash-tag: new function

The command `magit-show-commit' can now show tags too, previously
it showed information about "TAG^{commit}" instead of "TAG".  This
is implemented in the new function `magit-diff-wash-tag' which is
called from `magit-diff-wash-revision'.
magit-revision-insert-related-refs: truncate number of branches
rename magit-list-contain{ed => ing}-branches
magit-read-remote-branch: optionally offer more choices

When the new LOCAL-BRANCH argument is non-nil also offer
"REMOTE/LOCAL-BRANCH" as a completion choice.  If REMOTE
is nil, do so for every remote.
make *-at-point functions use first child

This allows merge on "Unpulled commits" to do the Right Thing.