* magit.el (magit-section-lineage, magit-section-show-level, magit-show-level,
magit-define-level-shower-1): New.
(magit-mode-map): Bind the digits and M-digits to magit-show-level-N
and magit-show-level-N-all.
* magit.texi: Document it in a new chapter for Sections.
* magit.el (magit-status): Only read the top directory with e prefix
argument or when we are not inside a Git repository.
* magit.texi, NEWS: Document the new behavior.
* magit.el (magit-insert-region, magit-insert-current-line): New.
(magit-insert-hunk-item-region-patch): New.
(magit-run*): Added 'input' parameter.
(magit-run-with-input): New.
(magit-diff-item-insert-header, magit-insert-diff-item-patch,
magit-insert-hunk-item-patch, magit-apply-diff-item): Rewritten to
use *magit-tmp* buffer instead of a file.
(magit-apply-hunk-item): Likewise, and also restrict the patch to the
region when appropriate.
(magit-discard-item): Make sure that diff items that are not in the
staged or unstaged sections can not be discarded.
* magit.texi: Document it all.