safeguard GUI against addPitch() returning 0
 #17906 (Using MIDI input to input chords causes crash): Reworked moveToNextInput() logic in addPitch(). moveToNextInput() is called before actually inserting a new node, except if adding to a chord or if it is the first note inserted. A new flag InputState::moveBeforeAdding has been added just for this purpuse.
fix #17906: when a chord is detected on MIDI input, the cursor is moved back before adding each subsequent note after the first, so that all of them become part of the same chord at the same position; the 'active' variable in MuseScore::midiNoteReceived() is used in a comparison, instead of directly as a parameter, since sometimes it can be -1
use QXmlStreamReader for xml parsing
Fix #19374

Wide (two-digit) numbers in TAB collide; fixed
Separated Note::tabHeadWidth() and Note::tabHeadHeight() methods for TAB's from generic Note::headWidth() and Note::headHeight()
enable musicxml support, move needed xml functions to musicxml code
fix all regressions detected by mtest
complete switch to QXmlStreamReader
fix reading of session xml file
#16057: basic MusicXML export of chord diagrams
fix #15005
fix regression: read instrument xml
fix another xml regression (lines)
fix drag&drop from palette
fix Range() read/write
fix mtest build
fix #19734
Corrected the typed commands in the Test section,
and added a similar Debug section.
Improved handling of mscore/revision.h

Add mscore/revision.h to .gitignore, since it is a generated file.
Remove mscore/revision.h from the git index.
In Makefile, add "revision" as a dependency of "debug", as it
already is of "release".