Add keyboard shortcut for rebasing
magit-file-log: follow renames

When doing a log for a particular file (using `magit-file-log') it is
useful to see the history of the file across renames. Add the --follow
option to the log command to do so.
Update README.md

typo fixes
magit-run-topgit{*,-async}: new functions

Considering how few callers these functions have this might be overkill.
On the other hand this makes `magit-run-topgit{*}' most consistent with
`magit-run-git{*}', and maybe someone wants to extend our topgit support
sometime, at which point this will come in handy.  (Some arguments of
`magit-run-git*' that are not actually ever used have been left out, so
this is not completely consistent, but for the better.)
Merge pull request #1113 from prathamesh-sonpatki/add-rebase-shortcut

Add keyboard shortcut for rebasing
Merge pull request #1116 from mgalgs/file-log-follow

magit-file-log: follow renames
Merge pull request #1119 from cringthis/patch-1

Update README.md
magit-stash-{apply,pop,drop}: new commands

Use them from the stash popup and in section actions.
magit-diff-stash: add to stash popup
Merge branch 'pr/stash'
magit-show-level: don't use magit-with-refresh

We don't actually have to refresh here, since we are only changing the
`invisible' text property.
magit-stash-snapshot: don't use magit-with-refresh

We can get the same effect by only using one function that triggers a
refresh, and replacing the first call to `magit-run-git' with a call
to `magit-run-git*'.
magit-ignore-{item,file}: fine tune refresh
README.md: improve installation instructions
document all commands

Well almost all, some have been left out:

- rewrite commands because they will soon be remove
- log command because they will soon change significantly.

Aside from those now at least every command has a doc-string.
Merge branch 'pr/docs'
magit-diff-range: new function (kludge)

The commands `magit-ediff' and `magit-show' badly need to be sanitized.
Unfortunately not only they are rather messy but also some data they
consume, the "diff range".  And then they way that value is determined
and stored is also rather wacky.  It's a chicken and egg problem, and
I have chosen to start here.

Eventually the new function `magit-diff-range' will be replaced by
something saner and more complete.
magit-wash-commit: don't set magit-current-diff-range

See previous commit.
magit-wash-commit: create sections from header and message

Also cleanup the function and remove some dead code.  Replace
`magit-insert-commit-button' with `magit-make-commit-button'.
Merge branch 'pr/commit-header'