Fix wrong value display for a special case of evaluated promises

Garrett found a bug at JSM in which the wrong value is shown for an object in the environment pane. It happens when the following are all true:

- The object is a promise
- The object is assigned a new value in the *same statement* in which it is first evaluated
- That statement is stepped over (vs. being run past)

In this case, we'll wind up showing the value of the evaluated promise rather than the new value assigned to the object.

The fix is to stop tracking variables as unevaluated promises once we've processed an assignment to a variable of the same name.