The keys function returns a vector of valid key signature IDs. These
IDs are how key signatures are specified throughout tabr, including
in the other helper functions here via key.
Like the other functions here, key_is_sharp and key_is_flat
are for key signatures, not single pitches whose sharp or flat status
is always self-evident from their notation.
Major and minor keys are also self-evident from their notation, but
key_is_major and key_is_minor can still be useful when
programming.