Bug fix: preventing a Computation result to be recomputed everytime

Added a test showing the situation where it can happen: if the computation result is registered with the set() function and the hash of the given object does not match the real computation result, then it would never update the internal computation hash when the object is released from the ObjectPool and a new computation is triggered. And would force the computation every time.

The solution was simple: just compare the hash of the computation with the expected hash, and if they differ, update the internal object hash.