Caching shell objects touches it shell on touch

This resolves a bug discovered in the Unicef project
(https://trello.com/c/QFo9R6vA): a object that belongs to a parent object
that includes CachingShell didn't update the parents cache key when the child object
touched the parent.