Compute cached

I have a couple more things to do, but I think it is worth starting the review process on the new memoize scheduling directive.
As long as they're not in the retain list, they'll get stripped automatically during optimize_module if they're not used.