CLJS-234: remove (extend-type default IIndexed ...)
CLJS-234: remove (extend-type default IIndexed ...)

This commit removes the default implementation of IIndexed and patches
cljs.core/nth to check if its collection argument implements IIndexed
before delegating to -nth.

For non-indexed collection types, the private helper function
linear-traversal-nth is now called, which rolls over to -nth as soon
as possible.

A new predicate cljs.core/indexed? is also introduced.

mstang/clojurescript,mstang/clojurescript,mstang/clojurescript