Update store system.

* Move to using atoms rather than refs
* Add new store-fns for storing user values separate from the config within ~/.overtone/user-store.clj
* Update live-file-store to return a special atom rather than specialise an existing atom
lock store reads as well as writes
Don't return full store val when setting - as it floods the repo
Further clean up file-store

* Don't throw exception when trying to read from a store which doesn't exist
* Initialise store with an empty map if it doesn't yet exist
add Meta-eX links to README
Tease apart code a little:

* overtone.studio.midi no longer depends on overtone.sc.node
* midi-poly-player is in its own namespace
* experiment with separating out protocols starting with IKillable
  - (this will probably result in a protocols directory of individual 
     namespaces)
Fix indented-str-block to correctly count length of lines and also to
special case first lines and deal with the situation where they may be
too long.
warn users when tieredStopAtLevel is set to 1
teach dub step example synth about out-bus
Teach sampled_piano synths about the rate arg
add ns for monitoring synths
extract out worker core fns
replace jvm opts!
improve docstring
Add overtone.synth.retro ns to hold historical synths.  Add the Roland
TB-303 based on a snippet of Supercollider code by Dan Stowell.
Merge pull request #250 from rogerallen/tb303

TB-303 synth
Merge remote-tracking branch 'origin/master'
Update Clojure dependency to 1.5.1 and add project metadata
prefer amp over vol for synth amplitude parameters
formatting