local names, iteration => eduction

same as Clojure commit 5a2042cc8d7331b1d1979f5c946f6c480d6f5be8
CLJS-869: When preamble is not found in source directory, compiler does not report it
CLJS-866: Faulty ns macro desugaring

Fixes:
* `:refer-macros` sugar producing an invalid expansion.
* `:include-macros` sugar behaving unpredictably.
fix iteration test, now eduction
CLJS-862: fix inconsistent re-pattern
change cljs.compiler/with-core-cljs so it may take no arguments or
just options
2371
add :anonymous metadata to reify anonymous type symbol
annotate generated defrecord factory fns with :factory metadata, document
:positional or :map
reduced handling fixes, same as https://github.com/clojure/clojure/commit/eccff113e7d68411d60f7204711ab71027dc5356