alter structure of theKeys so that the string specifying the key is replaced by a list
add sharps and flats lists that are the order of sharps or flats
add _text_answer method that takes the key and forms a text string like "4 sharps"

have KeySigQuestion.givenKeyGiveAccidentals() use Key._text_answer()