Change ordered-map assoc behavior to be like that of Clojure 1.5.1

If a key is assoc'd multiple times to the same map, the first key,
along with any metadata it might have, is the one that stays in the
map.  The last value assoc'd to the key is the one that is in the map,
along with any metadata it might have.

Similar behavior was added to Clojure with the commit at this link,
released with 1.5.0:

https://github.com/clojure/clojure/commit/7bc871f16d90064a2c562523332267b4543d751e

Refer to CLJ-1065: http://dev.clojure.org/jira/browse/CLJ-1065