* src/cljs/cljs/core.cljs: fix typo
CLJS-330: fix (hash js/undefined)
CLJS-333: add missing arity to cljs.core.Keyword's IFn implementation
'block-children' helper function should return nil when given a nil argument. Fixes #331
CLJS-332: have UUID's = impl check that the other object is also a UUID instance
* src/clj/cljs/compiler.clj: fix bug around fns whose only non-zero arity is variadic (i.e. hash-set). was emitting a false - false does not get emitted as empty string like nil does.
Add tests for default values for map lookups.
* src/clj/cljs/core.clj: general fix for CLJS-330, protocol dispatch should handle undefined by coercing to nil
* src/clj/cljs/compiler.clj: remove pointless emission of "void 0;"
* src/clj/cljs/core.clj: cleanup protocol dispatch and type_satisifies_ handling of undefined
Fix (println 1 1) => "11\n" instead of "1 1\n"
Specify a radix of 10 to js/parseInt so that it can parse 08 and 09 in
date literals
Add test for CLJS-266
CLJS-266 port namespaced-keyword fix by Daniel Skarda to current codebase
* src/clj/cljs/analyzer.clj: comment about role of *reader-ns-name* and *reader-ns*
Merge branch 'master' of github.com:clojure/clojurescript
General cleanups for shell wrappers

- Use appropriate quoting to avoid whitespace within arguments,
  environment variables from being string-split.
- Better compatibility with baseline POSIX sh.
- Improve editor syntax highlighter compatibility.
- Readability cleanups (avoid workarounds for bugs fixed
  pre-POSIX-standardization).
Fix dissoc implementation for Records

Included tests
Support code reflection in the cljs repl.

A few changes have been made to support runtime code reflection in a
cljs repl. These include small changes to cljs.analyzer, a separation of
the server element of cljs.repl.browser into cljs.repl.server, and the
addition of two new namespaces: cljs.repl.reflect (in src/clj) and
clojure.reflect (in src/cljs).

cljs.analyzer:
- Arbitrary metadata declared on symbols will now be added to the AST.
  This supports the addition of docstrings.
- Fix a subtle bug in cljs.analyzer/analyze-file, where an uncommon
  code-path would lead to the failed coercion of an absolute-path into a
  URL. An absolute path, including a `file://` protocol, can now be
  passed into the function successfully.

cljs.repl:
- Add function to analyze source on repl-env -setup. This is used to
  support reflection on user-defined cljs source files, as well as to
  populate the cljs.analyzer/namespaces atom on repl startup.

cljs.repl.browser:
- The server element of this namespace has been factored out into
  cljs.repl.server to support other services that may require that
  functionality.

cljs.repl.server:
- Expose a simple HTTP method and predicate dispatch system to register
  handler functions for incoming requests. (Note: this system seems to
  be relatively brittle, and future change may be warranted.)

cljs.repl.reflect:
- Registers a server handler for incoming requests to "/reflect".
- Queries cljs.analyzer/namespaces for meta information relevant to a
  symbol, responding to requests with compiled javascript.
- Can use "fixed point" macroexpansion on cljs macro forms.

clojure.reflect:
- Expose a set of simple functions for querying meta information of a
  symbol, as well as macroexpanding a cljs form.
clojure.reflect fns conform to standard names

clojure.reflect/query-meta        -> clojure.reflect/meta
clojure.reflect/query-macroexpand -> clojure.reflect/macroexpand
clojure.reflect/query-doc         -> clojure.reflect/doc

Also, a macroexpand query will return a pretty printed string for human
consumption.