Fix unit tests

Also refactor to tidy up
Analyse consecutive octaves
The same unison repeated is not an error
Repeated octaves are OK
Jump of an octave is OK