Update generalized-offsets.ly

Improve comment.
Merge pull request #10 from PeterBjuhr/master

Function for metric modulation as markup
Add directory for LilyJAZZ
lilypond-version-switch.ly: Add predicates

Update description and add remaining predicates.

TODO:
- rename to lilypond-version-predicates.ily
- move usage examples to new .ly file
- is calculate-version correct? Can't imagine that.
I'm sure I had something different. Have to scale the three parts.
Fix lilypond-version-switch: wrong calculation

Somehow I had forgotten to include the right calculation
int the original commit :-(
Rename and move lilypond-version-switch, make includable

Add new directory 'general-tools' and moved the snippet there.
Rename to lilypond-version-predicates.
Make snippet includable by moving the usage example to separate file.
color-voices: Remove obsolete \revert-s
color-voices: Rename to .ily and add Flag color
color-voices: Add usage example file
crude experiment: test using string arguments in function
copy \shape from current lilypond master
shape: allow shorthand notation using only one or two offset pairs per slur
use string=? instead of equal?, as David suggested
try converting 2-elem lists into pairs

I'd like to make \shape syntax shorter by using 2-element lists
instead of pairs (so that i don't have to type the dot).
Additionally, i'd like \shape to interpret an empty list as
a zero offset.  In other words, i'd like

\shape #'((0 1)()()(-0.5 0))

to be interpreted as

\shape #'((0 . 1)(0 . 0)(0 . 0)(-0.5 . 0))

However, i see the following problem that i have to solve first:
 if i understand correctly, this fragment of code

       ;; we work with lists of lists
       (if (or (null? offsets)
               (not (list? (car offsets))))
           (set! offsets (list offsets)))

is for converting ((0 . 1)(0 . 0)(0 . 0)(-0.5 . 0)) into
(((0 . 1)(0 . 0)(0 . 0)(-0.5 . 0))) (additional nesting layer,
as if the slur was broken).  It seems that this piece of code
depends on the fact that the fist element of
((0 . 1)(0 . 0)(0 . 0)(-0.5 . 0)) is not a list, but a pair.
If i wanted to use ((0 1)()()(-0.5 0)) as a synonym for
((0 . 1)(0 . 0)(0 . 0)(-0.5 . 0)), i'd have to change this condition.
I don't know what should it be - i've tried

       ;; we work with lists of lists
       (if (or (null? offsets)
               (not (list? (caar offsets))))
           (set! offsets (list offsets)))

but it didn't work...  Suggestions?
Revert "try converting 2-elem lists into pairs"

This reverts commit f971556424a6dca178f3dca5619de48997305cff.
flip offsets for downward direction
change shape examples
Update and rename shape.ly to shape.ily

Make it includable.

Removed content will be added in the next commit
(working on the web interface...).
Create shape-example.ly

Don't work on finishing the snippet off with metadata
(as I'm on the Github web interface)
shape-example: Add missing \include