Import original closure.clj to closure.cljs
cljs.io: add .isDirectory and .listFiles methods to File type.
First pass at require function.
Fix cljs version of ns-snap.
cljs.compiler: better already provided detection.

Trying to provide multiple times should just be a no-op.
Better error feedback from eval in compile-forms*.
Use *ns-sym* in REL code instead of analyzer's *cljs-ns*.
cljs.analyzer: restore locals/macro lookup in get-expander.
Merge remote branch 'arthuredelstein/jqconsole' into cljs_in_cljs
Fix web REPL lookup of *ns-sym*.
First pass at porting closure.clj and cljsc.clj.

Build like this:
    ../bin/cljsc ../src/cljs/cljsc.cljs > cljsc.js && cp ../src/cljs/goog.js out

Run like this:
    ./run.js cljsc.js hello.cljs > hello.js

It will attempt to compile using out2 as the output directory
and will blow up trying to compile core.cljs.
Better long line handling in web REPL (Himera version).