Iterate items on specific depth.
        depth has to be greater equal than 0.
    
        Usage::
            
            >>> for key, node in DictTree.kv_depth(d, 2):
            >>>     print(key, DictTree.getattr(node, "population"))   
            bethesta 5800
            germentown 1400
            vienna 1500
            arlington 5000

def kv_depth(d, depth, _counter=1):
        """Iterate items on specific depth.
        depth has to be greater equal than 0.
    
        Usage::
            
            >>> for key, node in DictTree.kv_depth(d, 2):
            >>>     print(key, DictTree.getattr(node, "population"))   
            bethesta 5800
            germentown 1400
            vienna 1500
            arlington 5000
        """
        if depth == 0:
            yield d[_meta]["_rootname"], d
        else:
            if _counter == depth:
                for key, node in DictTree.kv(d):
                    yield key, node
            else:
                _counter += 1
                for node in DictTree.v(d):
                    for key, node in DictTree.kv_depth(node, depth, _counter):
                        yield key, node