Automatically generating the link target for each script saves a lot of
time and potential for errors.
Each kind-of-script page now includes a link target for that page, and
also a table of contents.
In-script markers to delimit text for Sphinx extraction now use native
docstring markers from Ruby, which is a lot more elegant in .rb scripts
- and robust, as long as the fisrt docstring is valid .rst!
This mainly involved tweaking a few filenames and configuration paths to
allow consistency in all scenarios. It cleared up a few errors in the
process too!
I also clarified the placement of the LICENSE file, and finished
configuring the Alabaster style. This required moving some stuff out of
the CMake system to conf.py to avoid later breakage.
Because it's not actually that important to the user how a command is
implemented, and the docs should reflect that. This also makes them
easier to write!
This document is shown when creating pull requests and referenced
from a number of other code-related discussions, so putting the
"contributing code" section first probably makes more sense
(particularly with a TOC).
Binpatches aren't used much at the moment, so this has two purposes:
collate information so it's easier to write them again, and remove it
from other sections where it's useless.
Note that if the standalone binpatch.exe is removed, the 'patching on
disk' section can be cleanly removed from 'Using a patch' by deleting
lines 44-47 & 61-90.