Fixed: suspension agent can now be absent in preparation in dissonance.py

Previous if either voice moved into a dissonance with a "Rest" the dissonance
would get labelled 'o' for other. But now the agent can rest moving into a
dissonance meaning that the agent can be absent in the preparation stage of
a dissonance.
Fixed: susp labels in dissonance.py where bass leaps an octave

While there is existing support for change of bass suspensions in the code,
the common situation where the lower voice "agent" leaps an octave at the
moment of resolution was not being labelled correctly but now this is fixed.
The fix won't work, however, for rising suspensions.
Fixed: logic for 9-8 suspensions in dissonance.py

Given the representation of 9ths as 2s in our analysis using simple interval
quality, I had to adjust the math to pick up 9-8 suspensions.