diskcache: create custom context to pass parent context values through stack
Created by: Strum355
Previously, context values wouldnt propagate to the disk-cache fetcher function from the calling function if a background timeout was set. This was done so that any timeouts of any ancestor contexts of the background timeout context would not cause an early context timeout.
This PR creates a custom context that has an isolated timeout while still being able to carry values down the stack.