FOR-EACH, DEFINE-SYNTAX
initial version of SYNTAX-RULES

Support is limited to:
 * Global definitions with DEFINE-SYNTAX,
   neither LET-SYNTAX nor LETREC-SYNTAX is supported.
 * Macro generated syntax rules are unsafe.
add GENSYM
fix a terrible copy-paste mistake
make DEFINE-MACRO semi-hygienic

Compilation time is worse than C++.