Issue 3675: Make convert-ly -d only ever update on changed files

Previously, it updated unconditionally whenever a new stable version
came out, leading to merge conflicts.  When the final applied
conversion is to an unstable version and the following stable version
is not beyond the conversion target, the following stable version is
used.

Note that this rule does not make a factual difference for continuous
updates of a code base (the normal use case for
scripts/auxiliar/update-with-convert-ly.sh), but it makes a difference
for the conversion/import of code that may have fallen behind a lot
(like with the LSR import, or when converting archived files).
Issue 3673: Make make-relative able to deal with music rather than just pitches

The old behavior of make-relative was too cumbersome to use in many
cases.

This variant allows, for example:

withOctave =
  (ly:music?)
  (make-relative
   (music) music
   #{ \context Bottom << $music \transpose c c' $music >> #}))

\relative
\new Staff \withOctave {
  \partial 4. c'8 e g |
  c2 e,4 g |
  c,8 c' b a <g d'> <f c'> <e b'> <d a'> |
  <c g'>1 | \bar "|."
}
convert-ly rule for new make-relative semantics accepting music arguments

This only works when the "reference pitch" is the first or last of
the list.
Run scripts/auxiliar/update-with-convert-ly.sh
Add regtest for music argument semantics of make-relative macro
Add regtest for copy/modify semantics of make-relative macro
Add unfold-repeats-fully function which will expand repeats in the data
Implement event-chord-reduce for reducing chords to single notes
Issue 3682/1: Implement \beamExceptions function fishing exceptions from beamed music.
Issue 3682/2: Change documentation and regtests for \beamExceptions
let RhythmicStaff use default barline extent

There is no reason to make barlines in RhythmicStaff special.
The purpose of the deleted code was probably to ensure that
the barlines were visible at all (despite the fact that there
is just one staffline in a RhythmicStaff).  However, currently
barline code takes care of this by default.

This makes barlines in DrumStaff and RhythmicStaff similar.

A comment by Keith:
The book by Kurt Stone happens to have some bar-lines in single-line percussion
staves that are as tall as a 4/4 time-signature.  Other examples in the same
book have short bar-lines like these here, and looking at some scores the short
bar-lines are more common.
Issue 3694: Use standard inclusion scheme for FreeType headers.

The most recent FreeType release (2.5.1) has changed locations for header
files.  Using the standard way, this is not visible to applications.
Support properties on articulations.

Shorthand articulations like -. can now be ArticulationEvents, not just
articulation names. Previously a shorthand created a new ArticulationEvent
with its name, so there was no way to give it properties. Now it can be (and
is, by default) an ArticulationEvent.

Note that redefining a shorthand to a string (e.g. dashDot = "staccatissimo")
still creates propertyless articulations, regardless of \staccatissimo.
Support articulations and breaths in MIDI. (issue 3664)

Articulations and breaths can alter the length and volume of the note.
(Breaths affect the previous chord.) This is controlled by their
midi-length and midi-extra-velocity properties. The standard articulations
now have these properties where appropriate.

(seconds->moment s context) is a convenience function for making
absolute durations.