Member
This PR implements a whole new CachingExecutor and deprecates the existing CachedExecutor because it is broken beyond repair. As part of this changeset, we now ensure that we cache the whole respone message including all records from the RRset (fxies #119). Additionally, we no longer cache truncated response messages as per the RFC.
This initial implements always uses a 60s cache TTL for each response message, irrespective of the TTL indicated for each record (see #81). We believe this is a reasonable compromise as an initial version that should not affect most common use cases. A follow-up PR should implement a more sophisticated TTL logic in the future and should respect the TTL values for each record (within reasonable limits as discussed in #81 and #116).
This implements now respects the TTL indicated for each record (see #81) and uses a 60s cache TTL for negative messages.