Improve documentation
Sanitise the environment used for tests

- Remove variables describing our package from the environement
- Use a specific MAKEOBJDIRPREFIX for each test
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