5067: Add ly:version? and lexicographic-list-compare?
Squashed commits:
5067: Restrict ly:version? to number list
5067: version-list-compare? rename to lexicographic-list-compare?
5067: version-list-compare? typo
ly:version? and version-list-compare?
A lexicographic list comparison for arbitrary element types,
but with special treatment of trailing elements
(additional elements of the longer list are ignored, which is
typical for version comparisons such as LilyPond 2.19 is equal to 2.19.4)
Simplify lilypond-version operator and create new interface
Add lilypond version predicates/operators
This set of predicates/operators compares a given reference version
to the LilyPond version that is currently being executed.
This makes it possible to implement "version switches" to write
(library) code that is compatible over syntax changes.