Merge branch 'algorithms'

Added some operators:
* Intersection
* Difference
* Union

And one algorithm:
* Graph diffing

Added several methods to Graph:
* copy()
* remove_nodes()
* add_nodes()
* remove_edges()
* add_edges()
* get_node_ids()
* get_edge_ids()

And some fixes:
* get_edges_between() should return edges in both directions for
  DiGraphs
* load_json() accepts JSON objects, in addition to a file name
* reorganize test and example folders
Fix docstring for get_nodes()