Fix typos in README
Add/implement cache_nodes_by()/get_nodes_by_attr()
Make add_node() automatically cache new nodes if needed + tests
Removing nodes also removes them from the cache
Remove DiGraph nodes from cache in remove_node()
Rename _cache to _node_cache.
Add get_node()
Add test for updating cache on set_node_attribute()
For get_nodes_by_attr(), change default val of 'nosingleton' to False.
Update cache on set_node_attribute()
Fix a base case for cache_nodes_by()
Update shodan_graph.py to take advantage of caching
Split tests/fixtures into separate files
Update readme for running tests.
Add option not to build cache from existing nodes in cache_nodes_by()
Update bro_graph.py to take advantage of node caching
Move test_cache_by() to test_cache.py
Add test for cache_nodes_by('...', build=False)
Add clear_node_cache() + tests
Add has_node(), has_edge(), has_edge_between() + tests