Avoid function in make-relative macro output
The compiler of Guile 2+ does not like functions in raw macro output. This only worked so far because make-relative is provided for Scheme users but not used inside LilyPond. In one of our .scm files, it would have caused byte-compilation to fail. A future commit will switch to using the compiler for Scheme code in .ly files as well.
The fix is to turn this Lispy macro into a Schemely macro, using a hygienic reference to the function in order to preserve lexical hygiene without the function in the output.
Preparatory work for !1510 (merged).