Added new dfs label-conditioned traversal iterator, dfs_edges_by_label().

This new dfs iterator,  dfs_edges_by_label(), takes an additional parameter, my_label, a dictionary, specifying an edge label condition to traverse by.

For example, if edges have been added such as, g.add_edge(a, b, relationship='child')
    , then use my_label= {'relationship': 'child'} , as a condition for traversal