remove extension of prim array & string to ILookup / IIndexed
bump data.json dep
update boostrap script to grab the latest dependencies
add benchmarks for standard lib fns on strings & arrays
change `satisfies?` so it takes a third parametr. passing false will
disable JS native hash table lookup. this way if a protocol test
fails, we don't pay when we're going to handle the natives cases
directly anyway.
move string? predicate up so core fns can use it. optimize the cases
where we handle JS strings and array cases directly. Disable JS native
hash table lookup where it makes sense. goog.getUid -> goog/getUid,
goog.isArray -> goog/isArray so we emit direct JS calls.
infer tag information off the original form as well, needed to infer
direct protocol invokes of the form `(-foo ^hint x y ...)`.

now that we have `(satisfies Proto x false)` we can direct dispatch
after the test - hint these as ^not-native.
provide `array?` predicate and use it. `goog/isArray` is more general
and intended for dealing with objects passing between different JS
contexts, something we don't support in general anyway.
optimize Symbol construction - including precomputing the str rep and
calculating the hashcode. add array-map w/ symbols benchmarks where we
don't avoid the cost of constructing symbols everytime, seems ~1.5X
slower under v8
add indirect keyword and symbol invoke benchmark, keywords (JS
Strings) are nearly >7X slower under v8
fix compile time hash code computation for symbols
symbol hash code sanity check
add `lazy-cat`
add `special-symbol?`
move some basic predicates higher up
minor declare spring cleaning
fix r1798 regression on seq, get, reduce for extend-type on natives.
Implement INamed for cljs.core/MultiFn
name every fn with a fully qualified name

makes it easier to grok stack traces
drop nanos from inst when reading inst strings

Javascript doesnt support nanosecond resolution in Date.