map-invert should use transients and reduce-kv instead of reduce
Two performance enhancements on clojure.set/map-invert:
1) Use reduce-kv to avoid realizing mapentry's from input map
2) Use transients to create the output map
Screened by: Alex Miller
Would be nice to see a quick perf test that compared before/after times.