merge magit-indentation-for into its only caller

Also make it more functional.
merge magit-write-file-lines into its only caller
move definition of magit-commit-at-point

There was no connection to the surrounding code.
Also make it more functional.
remove unused variables magit-wazzup-{head,all-p}

There *intended* purpose is already covered by `magit-mode-init' setting
`magit-refresh-args', like for other modes derived from `magit-mode'.
rename magit-{filename => magit-file-relative-name}

Rename `magit-filename' to `magit-file-relative-name' because it is
similar to built-in `file-relative-name'.  Also move its definition.
add forgotten Merging section heading
set stage for next few commits

Split the Utilities section into various subsections.  Because it is
highly disorganized this results in some sections appearing mupltiple
times.  These are the section headings:

;;; Utilities
;;;; Minibuffer Inpup
;;;; Various Utilities (I)
;;;; String Manipulation
;;;; Git Config
;;;; Read Repository   (I)
;;;; Git Low-Level     (I)
;;;; Read Repository   (II)
;;;; Git Low-Level     (II)
;;;; Read Repository   (III)
;;;; Git Low-Level     (III)
;;;; Various Utilities (II)
;;;; Git Low-Level     (IV)
;;;; Various Utilities (III)

Clearly something has to be done about this.
collect magit-read-top-dir and its support fns in one place

Move `magit-read-top-dir' and the support functions (which it uses
exclusively) into new subsection "Read Repository".

That section is located in section "Status Mode" not "Utilities" even
though the code was previously located there.  I considered moving it
into the new "Minibuffer Input" subsection of "Utilities" instead but
because `magit-read-top-dir' is used by `magit-status' only decided
against it.  Also the "Minibuffer Input" section contains no other
`magit-read-SOMETHING' functions, these functions are all defined in
the sections containing the code that uses them (most).

I would also like to note that these functions are fairly obfuscated
and need to be improved at some point.

Also see f49fd99eee294ed6e0e0308b8c69c7e605337d52
which sets the stage for this and other commits.
just one "Git Low-Level" subsection

Move some trivial functions so that that the definitions that belong
into the "Git Low-Level" subsection of "Utilities" don't alternate with
those that belong into the "Various Utilities" subsection.

Also see f49fd99eee294ed6e0e0308b8c69c7e605337d52
which sets the stage for this and other commits.
just one "Various Utilities" subsection

Move some trivial functions so that all functions in the "Utilities"
section that do not belong into one of the more specialized subsections
are in one place: the "Various Utilities" subsection.

Also see f49fd99eee294ed6e0e0308b8c69c7e605337d52
which sets the stage for this and other commits.
move magit-with-refresh into "Utilities">"Various Utilities"

The macro `magit-with-refresh' cannot be defined in the same place as
the "refresh" functions it makes use of because these definitions come
after `magit-with-refresh' is used for the first time.

While this macro is important and used a lot it is not significant to
deserve its own top-level section, so move it into the "Utilities"
section.

Its definition is now located later in the file than before but still
before its first use.  (I don't expect it to make sense to define a
function that uses this macro earlier than where it is now defined.)
merge magit-current-line into its only caller
magit-propertize-section use mapc instead of dolist
merge magit-current-line into its only caller
Merge branch 'arrange-Utilities' into cleanup
collect all keymaps and menus in one section

Most keymaps and one of two menus were already defined in the "Keymaps"
section.  Rename it to "Keymaps and Menus" and add "Keymaps" and "Menus"
subsections.  Move total the three definitions there that were
previously located elsewhere.
Merge branch 'collect-Keymaps-and-Menus' into cleanup
capitalize section headings
make magit-post-command-hook

In `magit-mode' instead of adding function `magit-post-command-hook' to
hook variable `post-command-hook' add the two functions that functions
calls directly to the hook variable.
split section "Sections" into subsections

Split the section "Sections" into subsections.  Some functions are
in the wrong subsection, which will be fixed in the next commit.

Add new toplevel section "Command Macro" after "Sections" section
for macro `magit-define-command'.