Adds ly:generic-bound-extent function.

This allows for spanner functions written in Scheme to use bound
extents instead of the full extents of their bounds.

Adds a regtest to show this at work with BendAfter.

Note that this can likely be replaced in the future with horizontal
skylines.
Issue 3633: Freeze measurePosition while Timing.timing is off

Also don't reset it in \cadenzaOff, and leave autoBeaming alone in
\cadenzaOn/\cadenzaOff.  This should cause quite fewer interferences
of cadenze with timing, accidentals, barlines and other stuff.
Improvements to \offset

Property can be specified with or without #' prefix.

Directed tweaks are possible.

Music is returned in case of a failed tweak on that music.  This eliminates
cryptic "post-event expected" error.

Regtest:
--remove #' prefix before property names
--remove unnecessary # before numbers
--add example showing directed tweaks
--faulty tweak converted to an override of correct property

Revise docstring of find-value-to-offset in `scm/music-functions.scm.'