Make ::becomes* exclusive to Behavior and tweak semantics slightly

Now becomes* methods yield true or false on the next change that causes
the behavior's value to start matching or start *not* matching the given
predicate. We don't care whether the current value matches the
predicate or not… we care when a future value changes the situation.
Thus the name "becomes".