collect "apply" functionality in one place
move "visit" section to top-level
magit-show-current-version: remove silly doc-string
magit-rename-item: move definition
magit-grep: move alias definition
collect "commit mark" functionality in one place
make "ChangeLog" a subsection of "Miscellaneous"
magit-copy-item-as-kill: move definition
rename magit-{edit-ignore => ignore-edit}-string
magit-ignore-{*}: move definitions inside "Miscellaneous Commands"

Two nice side-effects of this are that (1) the "Wazzup Mode" and
"Branch Manager Mode" are now next to each other, which is nice
because I intend to merge these modes, and (2) there is now only
one top-level "Acting" section (which is renamed to "Act" for
consistency with "Apply" and "Visit").
add top-level "Modes" section

The (now) subsections that contain the definitions of individual
modes are currently spread across `magit.el' with unrelated sections
in between.  So as of now there are actually two top-level sections
called "Modes (N)".  That will be rectified eventually.

One of the subsections of "Modes (2)" is "Ediff Support".  Yes that
is wrong.  That section does not define a `magit-mode' derived mode.
Instead it defines (rather poorly) wrappers around Ediff commands.
I haven't decided yet where I want this code to end up but since I
am going to write `magit-ediff-*' variants of most `magit-diff-*'
commands, on possible approach would be to define these things in
the same place.  For now let's life with this inconsistency.
remove two FIXMEs

The fixes are still outstanding, but
I can remember to do that on my own.
add top-level "Settings" section and a eof section

This section contains all the things a user can tweak to adapt Magit to
her wishes.  I think it helps users to have such a "all the settings are
to be found here" section.

The new section absorbs the existing top-level sections "Options" and
"Keymaps".  Some of the subsections that already existed in these old
sections, have new names now which better reflect their new surrounding.

The definitions of two `:set' functions for custom options are moved
right before their first uses, as we shouldn't begin the "Settings"
section with code, that would kinda defeat the purpose.  Having them
later in between custom options also isn't optimal but since these
functions have to be defined before they are first used their aren't
all that many alternatives.

Move the calls to `define-obsolete-variable-alias' to the very end of
the file into a new section "magit.el ends soon" which also contains
things like providing the library feature and setting buffer local
variables.  And yes that's a comment on the library convents that in
the age of dvcs require files to end with "this is the end".  Also
I just couldn't think of a better name: "Provide feature and somewhat
related stuff and final hacks" doesn't seem so good :-)
make "Read Repository" a subsection of "Miscellaneous"
add new top-level sections "Magit Api" and "Porcelain"

* Add new top-level section "Magit Api", turning the former top-level
  sections containing the "section", "process" and "mode" code into
  sub-sections.  Rename these subsections.

* Add new top-level section "Porcelain", turning the former top-level
  sections containing the "apply", "visit" and "act" code into
  sub-sections.  Keep the old names of the subsections - cannot think
  of good ones right now.

* Add new top-level section "(misplaced)", group some former top-level
  sections below.  Now there are fewer top-level sections that are
  misplaced.

This isn't the end.  There is no one right way to arrange stuff.  This
is an arrangement that is suitable now.  It contains inconsistencies
but it is sufficient.  The same order would not have worked some time
ago and future changes will make further adjustments necessary.

This fucks with blaming and bisecting.  I won't compromise because our
version control tools are insufficient.  I maintain such a tool.  So
if desirable changes lead to suffering, then I do them anyway and then
I improve the tool.
Merge branch 'pr/rearrange'
magit.el: fix section nesting
magit.el: move beginning of the eof section up

making two former subsections of the "Miscellaneous"
section part of the eof/self section instead.
magit-section-action: don't pass struct to hooks, pass info slot value
Update magit-section-title in tests

When 7f58159 changed magit-section-title to magit-section-info,
magit-tests.el was not updated.