pinhole - add depth-first iterator, path-filtered iterator, get_path_filtered_nodes(), set_single_value(), set_all_values()