Conditions now optimize out always-true literals. Fixes #61.

This might seem like a silly optimization at first glance, but it's not. A
good example of where this is useful is

while 1: { ... }

Without this patch, each pass of the while loop will load that constant and
check it for truthiness. That's rather wasteful to do.

With this patch, the load of '1' is optimized out and everything else seems
to work out just fine.

A note: Conditions that are always false (such as 'do: { ... } while 0' will
still load the constant. Perhaps that'll be fixed at some point in the future.