A cache to avoid recomputing computation on stable data.

This PR is best described by the documentation on the included `cache.py`.  A summary of what went into it:
- a weeklong trip to Portland,
- ~14 food carts,
- ~5 coffee shops, and
- many miles of walking around.
does `wraps` pass the args through and get an actual return call? i looked up how to do this w/ Mock, and stackoverflow was full of people w/ hacky solutions, so i dropped mock