Add some functions and data for SPEAC
SPEAC: Add 'breakAtEachEntrance' function, updates
Add 'doctest-here' script
Enhance documentation for 'breakAtEachEntrance' function
Simplify 'resetNextDuration'
Use "foldl'" instead of "foldr" in "getAllChannels"
Group utility functions
Add 'metricTension' in analogy to 'intervalTension'
Enhance comments, simplify some things
Add 'createListOfTensions' function
Add 'computeDurationTensions' function, previously overlooked 'myRound'
'runTheSPEACWeightings' works!

Two functions, 'getRootMotionWeightings' and 'getChordRoots' behave
differently than expected in the documentation examples - the latter
function is most certainly responsible for the misbehavior of the
former.
Yet 'getRootmotionWeightings' does behave as expected in the book so
this is probably not a bug.

speac.lisp contains a comment on this in lines 609 to 614.
Some cleanup, mostly linebreaks
Simplify 'getDurations'
Simplify 'computeDurationTensions'
Use 'find' instead of 'listToMaybe . filter'
Small aesthetic improvements
Update 'rootStrengthAndRoot' to use Data.Array
Simplify 'derive'
simplify 'findIntervalInChord'