Implement optional caching for dataset queries. ## Functional Requirements - [x] Caching should be enabled by default - [x] Cache should be cleared when the query is updated - [ ] User should be able to disable caching - [ ] [Stretch] UI should indicate cached vs live results