Undo some nextVal changes (they disrupted enumeration-query)

Earlier, I had encountered problems where "lessdumb" initialization
(which interleaves rejection sampling and enumeration) would take
traces that had probability 0 (e.g., it would allow a (flip 0) to
take the value true). I had tried fixing this by making the nextVal
definitions for flip and multinomial to be smarter (e.g., nextVal
could not return true for flip 0). But this appeared to mess up code
for enumeration more generally. For instance, in the code below,
the posterior probability of use-first = true should be around 0.76
but with the "smart" nextVal, I was getting a probability of ~0.06.

In this commit, I reverted the fixes to nextVal and just made sure
that lessdumb initialization refuses traces that have probability 0.

~~~~
(define samps
  (mh-query
   1000 10
   (define use-first? (flip))
   (define x (multinomial
              (if use-first? '(a b) '(b a))
              '(0.1 0.9)
              ))

   use-first?

   (flip (if
          (equal? x 'b)
          1.0
          0.2))))

;; use-first TRUE : 0.1 * 0.2 + 0.9 * 1.0 = 0.92
;; use-first FALSE: 0.1 * 1.0 + 0.9 * 0.2 = 0.28
;; posterior probability of use-first = true shold be 0.92 / (0.92 + 0.28) ~ 0.766

(hist samps)
~~~~