Add live result caching to reduce outgoing bandwidth. Fixes #32