Issue 3563: Allow define-*-function to accept currying definitions

This is actually only useful for define-scheme-function since the
purpose of a currying definition is to return a function rather than a
music expression.  A typical usage case would be a function creating
an engraver closure:

dia-engraver =
   (ly:pitch? ly:pitch?)
     (let ((store '()) (cause #f))
       (make-engraver

[...]

   \new Voice \with { \consists \dia-engraver c' g'' }

[...]
Issue 3564: Doc, EG: Add more information about markup (list) commands
Issue 3565: Doc, EG: LilyPond's getting too smart for the "Inline Scheme code" section

The "Inline Scheme code" section already was embarrassing enough
during its last revision, when a trivial syntactic change was all that
was required in order to have the stated problem go away without
requiring to revert to Scheme.

Since then, the situation has further deteriorated: the originally
"what we would like to do but it fails" example works entirely
unchanged without a hitch.