More sophisticated delay-bounded yield translation.
* `assume {:yield} true;' -- yield for an arbitrary number of rounds.
* `assume {:yield e} true;' -- can only yield when `e' is `true'.
* `assume {:yield X} true;' -- yield for exactly X rounds.
* `assume {:yield X Y} true;' -- yield for between X and Y rounds.
* `assume {:yield e X} true;' -- combination of above.
* `assume {:yield e X Y} true;' -- combination of above.
NOTE: the performance impact of these changes has not been tested.