Implemented caching for generated wavefields within zephyr.Kernel. This potentially speeds up things like calculating a gradient after getting data to compute data residuals, but uses a substantial amount of temporary disk space in 2.5D problems.