Bugfix on non_octave_scales.
Reworked modal_map not to use "octaves" as these created edge cases.
Thus simplified various data structures. Better default to Major/Major
conversion (in new() instead of each modal_map() call). Order descending
intervals from highest down, as that suits stepping through the interval
list upwards. Other sanity checks and bugfixes. modal_map probably still
buggy in some respects.