Fix #22996 - Wrong clef when selecting standard staff type in instrument wizard.

In the instrument wizard, when a staff is changed to standard type (from a previous different type), the standard clef of the istrument is lost.

Changes:
- Added a member variable to `StaffListItem` storing the default standard clef for the instrument.
- Modified `instruments.xml' to remove &lt;clef&gt; tags from tablature instrument definitions: all these instruments are inited from a standard-staff main entry, recording the default standard clef; this clef is used to init the `StaffListItem::_defaultClef` member variable.

NOTE: Percussion instruments are not covered (an number of percussion instruments seem to have old-style definitions in `instruments.xml`); conversion from percussion to standard staff may yield unexpected results.
In instruments.xml, fix percussion instruments to use &lt;stafftype&gt; tag.
Disable stadard staff support for percussion staff types
Fix init of group combo in Staff type editor
Fix #18869 : restore original clef on ChangeStaffType undo

When a staff type change is undone, the previous staff clef is not restored, if it has been changed to suit the new staff type.

Fixed by storing the original initial clef and restoring it on undo. Should fix the following issues: #18869, #23374, #24294 and, possibly others too.

- Added to ChangeStaffType class an initialClef member variable to hold the original staff initial clef type list.
- ChangeStaffType::flip() split into undo() and redo(), as the managing the clef and setting the staff type must be applied in reversed order in the two cases.
- Clef::layout() now hides a clef not compatible with the staff group, if the clef is not generated or changes it to the same clef as the staff initial clef if generated
- TAB ad-hoc code in Clef::layout() to check for compatibility between the clef type and the staff group generalized to all groups removed.
- Fixed GuitarPro test reference scores, which all contained wrong clefs for the TAB staves.

Tested with a few 2.0 and 1.3 scores; more tests are probably necessary.
convert enum TransposeDirection and TransposeMode into enum class
Merge branch 'Jojo-Schmitz-enum-class'
Merge pull request #934 from mgavioli/Fix_18869_ChangeStaffType_undo_restores_previous_clef

Fix #18869 : restore original clef on ChangeStaffType undo
Merge pull request #923 from mgavioli/Fix_22996_wrong_clef_selecting_standard_stafftype_in_instr_wizard

Fix #22996 - Wrong clef when selecting standard type in instr. wizard
Merge branch 'master' of github.com:musescore/MuseScore

Conflicts:
	libmscore/clef.cpp
convert enum TransposeDirection and TransposeMode into enum class
convert enum SelectType into enum class