Add copy() method
Add 'operators' module. Implement difference() + tests
Allow networkx graphs to be passed into operators for chaining.
Implment intersection() + tests
Add remove_nodes() method + tests
Move test_has_node()
Add get_node_ids() method + tests
Add remove_edges() method + tests
Add get_edge_ids() + tests
Operators: Juggling between nx and sn no longer necessary.
Add a test for a custom lambda for sn.difference()
Operators: Make a generic intersection helper
Add add_nodes() + tests
Add add_edges() + tests
Operators: Fix doc descriptions.
Add union() + tests
get_edges_between() should return both directions for DiGraphs
Create algorithms.py, add diff() + tests
Let load_json() accept a JSON object
Operators: Change methods to use O(1) checks