Clear ThreadLocals when no longer needed [CLJ-1125]

Clears transaction and dynamic binding thread locals to prevent memory
leaks when used inside a container. Uses a sentinel frame to prevent
the binding conveyance issues described in CLJ-1299.

Signed-off-by: Stuart Halloway <stu@cognitect.com>
CLJ-713 - upgrade ASM to 4.1.

Signed-off-by: Stuart Halloway <stu@cognitect.com>
Add record? via IRecord

Signed-off-by: Stuart Halloway <stu@cognitect.com>
CLJ-1190 - move clojure.api.API to clojure.java.api.Clojure. add javadoc for clojure.lang, clojure.lang.IFn, clojure.java.api.Clojure. add ant target to generate javadoc for the API.

Signed-off-by: Stuart Halloway <stu@cognitect.com>
CLJ-1082 - add generic ranged iterator for use by SubVectors and a fallback for cases where it cannot be applied

Signed-off-by: Stuart Halloway <stu@cognitect.com>
merge master