Rename clojure.data.avl-check to clojure.data.avl-collection-check
Define all interfaces at the top
Implement vector and map entry interfaces in AVLNode
Use nodes as entries in seqs over AVL maps
Tweak whitespace in lookup-nearest
Use recur for final recursive call in avl-map-kv-reduce
First cut at Brown-Tarjan merge + unsafe-join + test.check

Introduces avl/{merge,merge-with,union} which all use the Brown-Tarjan
merging algorithm described in [0]. Includes test.check tests for
merge and merge-with.

Additionally introduces avl/unsafe-join and avl/kv-merge, the latter
marked private.

[0] Brown, Mark R. and Robert E. Tarjan, "A fast merging algorithm",
    Journal of the ACM (JACM) 26.2 (1979): 211-226.