CLJS-770: refactor goog-style JS dependency bits into cljs.js-deps, populate :js-dependency-index in default cljs environments
CLJS-768: Fix assoc!-ing non-numeric keys into TransientVector.
Allow the language_in && the language_out option to be set for the google closure compiler
CLJS-745: Support destructuring maps with namespaced keywords

port CLJ-1138 patch to ClojureScript
bind *loop-lets* stack to ()
tests for CLJS-739
CLJS-757: Remove redundant bounds checking in PersistentVector and TransientVector.
CLJS-728: fix (get coll k) when coll is vector-like and k is non-numeric.
CLJS-772: Support :none & :whitespace optimizations under Node.js

Include nodejs.js from Closure Library. When :nodejs target and
:optimizations :none or :whitespace, emit nodejs.js to the expected
location in the output directory.
CLJS-777: multimethods are not IFn
CLJS-778: RSeq does not implement INext, incorrect -rest implementation
Permit hashbang omission for nodejs target.

Adding :hashbang false to the compiler build options will
omit the hashbang.
CLJS-780: apply-to broken for arg count >= 6
benchmark and test Nashorn when available
typo
New Closure library release script from Git source
CLJS-782: toString implementation for UUID
CLJS-774: ensure correct cljs.reader inst and ratio parsing.
Use Array.isArray when building for node.js

This seemed to be the easiest way to do this, but I'm open to other ideas.
com.google.javascript.jscomp.JSSourceFile was an empty deprecated wrapper around
com.google.javascript.jscomp.SourceFile. JSSourceFile -> SourceFile.