This patch migrates the optimisation algorithm for targeted property-
based testing to our IR layer (issue #3921). This should result in
moderately different (and hopefully improved) exploration behavior in
tests which use "hypothesis.target()".
The canonical version of these notes (with links) is on readthedocs.