Add edit, less and code_* macros, mirroring which

The macros are programmatically generated, based on the previous macro for which.  The arguments are evaluated and their types are determined so the corresponding function may be called.

Adds news and documentation.