+JH/18 Convert macro handling to be tree-based, from the previous linear list.
+ With the number of builtin macros we now have this is worthwhile,
+ dropping the config-file read time (during which new macros are checked
+ and registered, and macros are expanded) from about 500 usec to about 180.
+