changing desugaring of when so it always evaluates to nothing

Closes #129 

Changes desugaring and fixes some tests that relied on the old behavior (when blocks would evaluate to their last expression if they ran, or nothing otherwise).