created a version of OpNodeBase to support saving the value into a cache
An attempt is made to replace the operator in it, so that all calls to
eval() read from the cache...not finished, just created a copier()
method that returns the operator that should replace the real operator.
Try to call copier() from inside the Result class
fixed the Cache implementation; replaced the eval() function to read
from the cache when non-null