Add pseudo control ugens to separate out control ugens to total number of params.
Add control param support and other tweaks - first (seemingly) working version!
Escape chars <>{}\ in ugen names for Graphviz compatibility. Also make ugen nodes link from name section of record for neatness.
Correctly index pseudo control ugens
treat ugens args with :array set to true as sequences
Correctly print out val and arg map in node exception
use multimethod to implement sdef (extraction of a synth definition from various sources) and implement unified-synthdef on top of it. 

Rename associated fns:

* pp-synth & pp-sc-synth -> pp-sdef
* pp-unified-synth -> pp-unified-sdef
* unify-synthdef -> unified-sdef
Correctly decompile :num-outs mode args (which are absent in the compiled arg-list) in unified synthdef structure.
Don't display empty arglists in graphviz conversion.
Text formatting
Improve Graphviz rendering to better distinguish ugens with different rates.
Further Graphviz visual tweaks
Improve error reporting when a ugen with an argument with mode :num-outs isn't passed a number (i.e. a control proxy).
update at-at dependency to 1.2.0
fix camelcase usage in phasor ugen docstring
clean up TODO
Revert "clean up TODO"

This reverts commit e07c867c543fe5a09adc515e7a21aae9fe39d16a.
add support for opening graphviz files in linux
Move freesound ns into overtone.samples and add new fn freesound-sample which returns a playable sample that also stores the original freesound-id.
Less brittle mapping to midi-notes.
Don't depending on the name of the sample once downloaded to disk map. Explicitly map freesound ids to the notes.