Check for pair when conj vector on map
For parity with Clojure, add runtime checks in map conj implementations such that vector arguments must be pairs.
Rationale: Even though this would reject some programs, those programs are incorrect and non-portable to Clojure.
Patch CLJS-3111-4 added
CLJS-3111-3.patch no longer applies
CLJS-3111-3.patch passes CI
CLJS-3111-3.patch added to Patch Tender
Added updated patch with the above three optimizations. Benchmarks indeed looking better now.