Added merge-with

Ispired by clojure core