support printing JS objects
backout JS object printing. instead simply allow people to implement
the desired behavior themselves.
Add PersistentArrayMapSeq for efficient traversal of PAM
keys/vals. Add KeqSeq and ValSeq for efficient traversal of map key /
vals without incurring overhead of lazy sequences. change zipmap to
use transients.

change benchmark script to use :output-wrapper true.

zipmap on V8 for a small PAM (3 KVs) is now under 2.5X of the
JVM. Include the benchmark
minor style cleanup
CLJS-513: fix handling of out-of-bounds indices in vectors

Vectors (both PersistentVector and Subvec instances) will now throw
when invoked as functions with out-of-bounds indices.

Subvec now disallows access to the underlying vector outside of subvec
bounds.
CLJS-515: emit positional factories in deftype
Update build script for latest Sonatype Nexus deployment
CLJS-518: keyword invoke on non ILookup regression
Merge branch 'master' of github.com:clojure/clojurescript
CLJS-517: fix (keyword 'symbol) (leftover from cljs.core.Symbol introduction)
fix `name` warning
CLJS-519: namespace aliased keywords throw Clojure reader exception

`forms-seq` was not as lazy at it should have been, we might
accidentally look ahead past the ns form and consume a namespace
aliased keyword before we get a chance to apply the side effects of
the `parse 'ns` multimethod in the analyzer.

We were incorrectly setting `*ns*` in `forms-seq` to
`*ana/*reader-ns*` instead of `*ana/cljs-ns*` which is what the analyzer
actually side effects.
move `forms-seq` into the analyzer
remove `*reader-ns-name*` and `*reader-ns*` in analyzer.clj, not
needed now that we correctly use `*cljs-ns*` in `forms-seq`.
finally clean up warning code
tidy up top of analyzer and compiler
backout js/Date extension to IEquiv, this is an interop liability.
revert, add comment about possible future change
missing comment
CLJS-524: allow *-array fns to accept any seqable