Start fleshing out synth information
Fix bug in Node's on_destroyed method:

don't call all callbacks if state is already destroyed, just call the
callback itself. Node already will call callbacks when destroyed.
ensure state is set to :destroyed before calling on_destroyed_callbacks
Kill ChordGroup node when all containing subsides are destroyed.
move to snake_cased names for sample synths
specify :amp arg for :amp validation!
Reference new snake_case sample synth names
Wire up synth arg validation functionality (still needs fleshing out)