magit-get-top-dir: return nil if FILE does not exist
magit-init: sanitize

Clearly separate the interactive and the non-interactive case by moving
all the questions this function might ask inside `interactive'.  This
function isn't intended for non-interactive use, but when it is used
that way, then the directory is now always (re-)initialized - no
questions asked.

Interactively, when the chosen directory doesn't exist yet, then don't
ask the user whether she really wants to create that directory.  She
just selected that directory and creating a directory is usually part
of creating a repository there.  Asking again is just annoying.
magit-test.el: remove magit-init test

Now that `magit-init' simply calls `git init DIRECTORY' when called
non-interactively, this test is rather pointless.
magit-tests.el: remove magit-blame-mode test

There are hundreds of commands, why test just this particular one?
magit-tests--modify-file: cosmetics
magit-tests--should-have-section: new function

Add new function `magit-tests--should-have-section' replacing
`magit-tests--should-have-item-title'.  This is mostly a semantic
cleanup and doesn't change the fact that this function is very
limited and will likely have to be replaced again when we add
new tests.
magit-{git-dir,get-top-dir}: make sure file is non-nil

Before using file functions on "the directory" , make sure it
actually is non-nil.  If we are not inside a repository it is nil.
These functions expect a string, when the are confronted with nil
they raise an error.
AUTHORS.md: update list of contributors
magit.el: require tramp

Previously we relied on autoloads to avoid loading it when not
necessary.  But the code that uses tramp is used so often that
it makes little sense to not load right away.
magit-{git-dir,get-top-dir}: don't expand-file-name path by git

Don't apply `expand-file-name' to the filename returned by git.
It is already expanded.
magit-file-name-tramp-remote: new function

Use it in `magit-git-dir' and `magit-get-top-dir' to prepend the
remote part of `default-directory' (if any) to the filename printed
by `git rev-parse --git-dir|--show-toplevel' before returning it.
cosmetic use of when
don't let magit-checkout return nil

This makes a difference when it is used in an extension hook.
magit-git-section has been retired

Use magit-cmd-insert-section instead.
honor function rename

magit-topgit-remove has been renamed to magit-topgit-discard.
Merge pull request #1206 from sigma/fix-topgit

Fix topgit
magit-wash-diffstat: match lines with no changes

Lines with no changes have only the count with 0.
magit-wash-diffstat: simplify regular expression
Merge pull request #1207 from afrepues/fix/truncated-diffstat-for-null-files

Fix/truncated diffstat for null files or no changes
Correct the documentation of `magit-push-dwim'.