TernaryMap: A prefix-tree map implementation

Finally finished writing a bunch of tests for coverage, plus I wanted to have sub-key iterators. Let me know what you think.
Rather than return [-1, -1], how about depths throws or takes a closure to produce a value when the key isn't found, like `Iterable.firstWhere`?