More compact save_json expression

Reversing the order of the two expressions here makes it
unnecessary to exclude everything I didn't want overwritten.
Fix save_json tests

Test was failing because networkx was reversing the order of the
src and dst nodes. But this is valid in an undirected graph,
so I changed the tests to accommodate this.
Add DiGraph class w/ fixed remove_node()
Add tests for DiGraph