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.
Merge pull request #5832 from mbauman/editmacro

Add edit, less and code_* macros, mirroring which