Add reader support for octal/unicode constants.
Partial self-hosting (all except core.cljs)

With these changes, src/cljs/cljsc.cljs (which invokes build in
closure.cljs) can compile the whole compiler except for core.cljs. The
target of the new compiler is currently set to out2 to not collide
with the compiler that was compiled by the original ClojureScript.

Here is the working test process:

    - Compile the compiler
        cd node
        rm -rf out
        cp ../src/cljs/goog.js out/
        time ../bin/cljsc ../src/cljs/cljsc.cljs > cljsc.js

    - Setup the new output directory with already compiled core.cljs:
        rm -r out2/
        mkdir -p out2/cljs
        cp out/cljs/core.js out2/cljs
        cp ../src/cljs/goog.js out2

    - Use the compiled compiler to compile the REPL:
        time ./run.js cljsc.js ../src/cljs/noderepl.cljs > noderepl.js

    - Run the new REPL:
        ./run2.js noderepl.js

Changes:

- Copy in closure lib files into (originally these came from a jar of
  the closure library).
- Pre-populate the emitted-provides with cljs.core during
  closre.cljs::build so that goog.provide doesn't complain since
  cljs.core is already defined in the compiler that is running.
- Only load-file in require if it is not already defined in
  namespaces.
- Add a new launcher (run2.js) that uses the out2/ sub-directory
  rather than out/.