(chain & control-fns)
Creates a control function that chains together other control functions.
Executes first control-fn until completion, then the second, and so on.


(create-clock tempo-atom trigger-fn)(create-clock tempo-atom trigger-fn state-atom)(create-clock tempo-atom trigger-fn state-atom done-fn)
Creates a sample-accurate clock control function that triggers a trigger-fn 
according to the tempo held within the tempo-atom atom.  When the time has been 
met, it will call the given trigger-fn and truncate the running sample-count.

User can supply an optional state-atom for signaling to the clock for
different running states. Acceptable states are :running, :paused, and :done. 
Any other state will result in :done.

User may also supply an optional done-fn. done-fn will be called when this 
clock goes into the :done state. done-fn must be a 0-arity function.