Work and tests for ttl functionality.
get_total_score -> get_score_out and TODO update.
No path persistence; should only be cached.
GraphStore: scores -> edge_score
Up to date TODO.
Small fixes in README.
Caching infrastructure, yay!
get_score_out() now cached.
Edge.weight -> Edge.get_weight
Refactored a lot, get_weight caching.

* Cache key: 'score' -> 'score_out'
* Caching of Edge.get_weight()
* Cache flush() method
* Factored out Node.get_min_ttl_out()
* Factored out CacheTestMixin with mock time