Early returns

This adds a wrapper class which can be returned from a reduction to indicate its completion. This is analogous to the `(reduced x)` and `(reduced? x)` forms in Clojure.

Fixes #36.