code_top: better error reporting for camlp4 failures

The build warning that an "error was raised during error reporting" is
said to be normal if the failure occurred during preprocessing and the
stderr (or stdout) is used instead of the empty error message (this
captures the camlp4 output and thus displays the error in the HTML page).
Do not highlight specially keyword in strings
Improve the "foreach_tutorial"