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>
use hashcode in macrology of case, to match runtime
hasheq using Murmur3 throughout
make hasheq for java.math.BigIntegers conform with longs when in long range
murmur only at return for ordered colls, sum only op for unordered, expose coll fixhash a la carte. Note map basis is different from Java due to being sum of hashes of map entries, which in turn follow vector