mk:chain-{compiler,generic}: simplify staging strategy

Use mk_multi_target so that everything is staged at once
if any target is built.  This will simplify library/header
dependencies when consuming the results and depending on
anything is good enough to bring in any transitive
dependencies.
Merge branch 'chain-simple'
program: fix bug checking for executables

Since directories pass the -x check, explicitly
exclude them to avoid choosing a directory in
mk_check_program
moonunit: include per-ISA CPPFLAGS in moonunit-stub invocation
docbook: expand search path list
moonunit: make log level easily settable with LOGLEVEL=...
moonunit: add documentation, few small fixes
Remove package modules I can no longer maintain
docbook: clean up message printed when running xsltproc
Add fetch module

This module is intended to automate fetching and unpacking
archives.
configure: normalize MK_SOURCE_DIR

This removes extraneous . and .. which can cause problems
with later path prefix stripping.
Add start of regression test suite