Use unique handler key when getting server info to stop multiple concurrent info requests clobbering each other.
Further work on examples.
tidy docstrings
Fix race condition when concurrently fetching server-info. Each independent request used the same reply key and therefore they could be confused with each other resulting in the incorrect synth being killed (and therefore raising an exception). We now use a unique response id and check for that before delivering the promise containing the server info and killing the synth.
add docstrings
bump to RC13
tidy docstrings
Controlling non-ready nodes is now delayed until node is ready.

Created new protocol ISynthNodeStatus with two fn slots - node-status and node-block-until-ready which is now used to extend SynthNode, SynthGroup and Inst records.

Add loaded? slot in synth node records which contains a promise which is delivered when the node is loaded. This is used to implement node-block-until-ready. This allows for blocking of the current thread when not loaded - which is what now happens when a node modification fn is called via ensure-node-active!

Fixes a race condition when nodes were created and then immediately controlled/killed resulting in abnormal behaviour.
use ensure-connected! for conciseness
Update for Issue 203.  Add rotate function for diatonic, pentatonic and hex scales.
Bump to RC14
Merge pull request #204 from rogerallen/rallen-scale-2

Update for Issue 203.
Make `unsatisfy-all-dependencies` idempotent...

This is used in `shutdown-server` and was causing boot to fail if
shutdown-server (and `unsatisfy-all-dependencies`) had been called more
than once because the second call wiped out all of the todo's.
Added test-helpers and updated overtone.smoke-test...

* Added `with-internal-server` test fixture
* Added `with-server-sync` test fixture
* Added `withsync-reset` test fixture
* Improved `eval-in-temp-ns` helper + tests
Fix a couple of typos
Run examples in overtone.smoke-test
Fixed ns for internal-sequencer example
Added polynome lib as a test dependency to run polynome example
Remove extraneous args to pink-noise in monomestep example
Add unique device num integer to all full MIDI device keys. These increment when another identical device has already been registered to allow for multiple identical devices to be uniquely handled by the event system.

Also add:

* midi-connected-devices - for listing all connected MIDI sources
* midi-find-connected-devices - for searching for a set of specific MIDI sources
* midi-find-connected-device - for searching for the first matching MIDI source