Caching features backported from 0.6

There is no change to the version number. I suspect this needs to be released as 0.4.4

As in the 0.6 version of this feature, half of the modified files are tests that are changed only because of the new signature of the InteractionContext constructor