count check in equiv-sequential if both arguments are ICounted
only keep the param names when storing :method-params instead of the entire param AST
Merge branch 'master' of github.com:clojure/clojurescript
change analysis so that optional opts parameter is taken by all fns that
might need it. prep for analysis caching.
actually pass opts in analyzer and compiler
CLJS-845: incorrect behavior of `sequence` when given multiple
collections

next -> nexts typo in MultiStepper next implementation. MultiStepper
step implementation incorrectly invoking next and hasNext on undefined
local. Invalid construction of MultiStepper, did not invoke xform with
stepfn.

Added test.
CLJS-839: Safari Math.imul issue

Polyfill Math.imul in plain JS preamble so implementation does not go
through advanced compilation
Update README.md & changes.md
CLJS-846: Preserve namespace metadata for 'ns
CLJS-847: Safari toString fix

In Safari 6.0.X address problems with using toString by using string
concatenation instead.
CLJS-849: fix iteration bound in pack-array-node
sync up ClojureScript transducers with Clojure

See https://github.com/clojure/clojure/commit/7d84a9f6f35a503cddf98487b6544d18937c669e
CLJS-852: Faster group-by

Copy over the Clojure implementation which uses transients.
CLJS-858: resolve-existing-var does not check vars outside current namespace

Prior to this commit we would only check vars if the prefix of the
var was the current namespace. This means normal library usage
is not verified. Instead now we check if the var is either:

A) an implicit require/import, i.e. goog.string, Math, etc.
B) is from a JS namespace (just verify the namespace)
C) exists in a CLJS namespace
CLJS-855: combinatorial code generation under advanced compilation

Under advanced compilation, :static-fns is true - efficient code
generation was done naively resulting in exponential code size when
nesting function calls of unknown arity.

Now if an invoke expression involves a fn of unknown arity instead
generate locals for the arguments then invoke. Google Closure will
intelligently rewrite these kinds of redundant assignments under
advanced compilation.
don't call resolve-existing-var on an ::analyzed var, we've already
analyzed and emitted a warning about it on the first pass
in parse-invoke do not analyze the arguments unless we know it's the last pass.
track protocol method information
CLJS-859: use https in the boostrap script
remove duped protocol implementations, picked up by new analysis