Generalize markdown configuration machinery

This implementation scales a bit better as we increase the number of
markdown files. It may even be easier to understand! Preserves
existing top-level targets, and general behaviour. The full ARGN
functionality is not yet used, but it will be shortly.

Introduced stub user guide, with HTML and PDF build.

Change-Id: I198f273a08f81035694c3efefd35a5b2f2af7f0d