Implement traditional group-by as found in most other languages like clojure/scala/ruby/etc
minor styling changes and more explicit test for generators
Merge pull request #39 from sbinq/implement-group-by

Implement traditional group-by as found in most other languages like clojure/scala/ruby/etc, thanks to @sbinq