Issue 3558: lilymidi: format time signature and tempo better.

If the Midi references are to be believed, our time signature's
specification of the metronome click could bear improvement.
Issue 3555: Parse context definitions and context modifications in \notemode

Since context modifications and context definitions are somewhat more
concerned with musical content, it makes sense to parse them in a mode
where note names are recognized and can be used in music and scheme
function arguments.

The main argument for a separate INITIAL lexer mode is for being able
to specify REAL number values in a lenient syntax, such as .5\cm.
However, dimensions are almost never used in context definitions
or modifications but rather in output definitions like layout, midi,
paper and header blocks.
convert-ly rule for simplifying \stringTuning
Run scripts/auxiliar/update-with-convert-ly.sh
Issue 3553/1: get_default_interpreter should create contexts with missing context_id

At the current point of time, an existing bottom context is returned
even when there is a mismatch in ids.  For example, when writing

\context Voice = "one" <<
  { \voiceOne g' g' g' g' }
  \context Voice = "two" { \voiceTwo c' c' c' c' }
>>

creates two voices, while

\context Bottom = "one" <<
  { \voiceOne g' g' g' g' }
  \context Bottom = "two" { \voiceTwo c' c' c' c' }
>>

only uses a single Voice called "one".  This is arguably wrong.
Issue 3553/2: When creating a hierarchy above Bottom, all intermediate levels are named "\new"

Previously, get_default_interpreter gave all intermediate levels the
same id as that of the new Bottom level.

However, since issue 3225, there can be more than one Bottom in one
hierarchy since a Bottom context (defined by not having a
\defaultchild) can still have children contexts (of any type it
\accepts even while it would not create them implicitly).

So it is a bad idea to give implicitly created contexts the same id as
any explicitly named context.
Issue 3292/1: Changes entry for changed \defaultchild behavior (issue 3225)
Issue 3292/2: Add \defaultchild rule for convert-ly
Simulate having run scripts/update-with-convert-ly.sh for 2.17.14
Issue 3557: Fix some grammar mistakes.

This also removes excess spaces at line ends in the affected files.
beam: if cross-staff, do not use concaveness; issue 657
Measure 'staff-padding' to reference points; issue 3026
DynamicText: reference point at middle of ex-height
Doc: update staff-padding
Adds a little curve to harmonic note heads
convert-ly rule
Docs: new defaults for rehearsal mark alignment
Tuplets: error-checking; issue 3551

lily/tuplet-engraver.cc
  do not create a TupletBracket if it would have no bounds
lily/tuplet-bracket.cc
  defensive pointer check