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.
This logic doesn't seem to match that in CodeGen.cpp. Can't memoize_expr take >1 values?