Fix bugs in mismatched spelling of chord name and notes
When the notes of a chord were re-spelled to match the degrees of the
matching signature, the root note was not being updated, so the
chord-name symbol still reflected the name of the un-respelled root
note. This was a bug introduced in the recent shakeup to do analysis
more entirely in the scherzo layer without using score_note_t.
Fixing this required a fair amount of refactoring. Hopefully the
result is cleaner and more maintainable.