Cache non-prepared task
The current code wait for a task to be "prepared" before computing a hash and testing presence in the prover cache. As this is expensive, we would benefit from hashing on the non-prepared task, as in hammer. We should take some care though, as the cache soundness is now dependant on the modifications of the preparation process