DAVL-1: first cut at subrange (submap, subset)

O(log n) submaps and subsets via clojure.data.avl/subrange.