Reining back over-eager optimizations.

This started when I found a failing test in a run of the
community build with `-optimize`. That test intentionally
triggered `1/x` with `x == 0` to test error handling, but
this was eliminated by `-Ydead-code`.

I then went through the rest of the JVM instruction set
and found more bugs of the same category.

The deletion of the peephole optimization of `[LOAD_FIELD, DROP]`
is worth discussion here.