added alternative group-by implementation with optional value mapper function

Please see the below link for more details:

https://groups.google.com/d/msg/clojure/pRla3_7vqvc/pqV1WwxjK4wJ