Create generators/for macro

This commit adds a generator macro that mimics the syntax of
clojure.core/for and covers all of the functionality of bind, fmap,
and such-that.