Make coalesce scalable

This commit comes from work we did to make it possible to coalesce 50k
events/second, so that riemann can be used to compute real-time
aggregations of stats on large clusters.
Switch changed to rely on an atom instead of a ref

This should be marginally faster and avoid transaction retries
should they happen. I'm not familiar with criterium or other
libraries to validate the hypothesis that it is faster, so this
is just conjecture.
Merge pull request #337 from pyr/feature-atomize-changed

Switch changed to rely on an atom instead of a ref
Merge pull request #333 from twosigma/scalable-coalesce

Experimental support for more scalable coalesce