Issue #328: include multiple levels of headings in guide TOC
Add guide-toc-level option to customize guide TOCs

The new `--guide-toc-level` option, which defaults to 2, controls what
heading levels will appear in guides' tables of contents. Specifying
`--guide-toc-level=N` will result in headings at or above <hN> being
included in all guides' TOCs. Choosing a `guide-toc-level` of 1 disables
the TOC entirely.
Rename --guide-toc-level to --guides-toc-level.

To be named more similarly with --guides option.

Improve the docs of the option - shorten lines and make the effect
of different argument values plain obvious.
Improve testsuite for GuideToc.

Add tests for --guides-toc-level=1, 2, 3.
Refactor GuideToc.

Turn GuideToc into instantiable class, so we can make use of
instance variables, refactor the logic into several helper methods and
avoid passing lots of arguments around.
Turn all TOC entries into <li> elements.

It's a list, and should me marked up accoringly.
Extract GuideTocEntry class.

To handle the more complex nesting logic of the guide headings
and rendering of HTML, keeping the GuideToc class itself a lot cleaner.
Merge branch 'issue328-guideTOC'