Sanitise the environment used for tests

- Remove variables describing our package from the environement
- Use a specific MAKEOBJDIRPREFIX for each test
Do not distribute dependency files

It is customary for dependency files to mention paths which only have
a meaning on the host where they are prepared.  It is therefore pointless
to distribute them.
Fix file footer
Improve documentation
Prepare a test for a simple C program
Add a standardised strategy to determine the package name

Modules are expected to fill in the variable _PACKAGE_CANDIDATE with
the possible name of the package, typically the value of ${PROGRAM} or
${LIBRARY}.  If the value of the variable _PACKAGE_CANDIDATE has only
one word, it is used as the package name, otherwise, the last component
of the path is used.
Support options, modules and externals
Fix documentation
Implement the WRKDIR variable
Fix dependency
Add support for product

Each module saves its list of products in a global ${PRODUCTFILE}. This
happens at the thime where dependencies are calculated.  Later invocations
of make read the ${PRODUCTFILE} which allows, for instance, the current
module to know about libraries prepared by other modules.
Merge branches 'topic/miscellaneous-fixes' and 'topic/test-simple-c-program'

Closes #121