py: Fix label printing in showbc; print sp in vm trace.
py: Fix optimised for-loop compiler so it follows proper semantics.

You can now assign to the range end variable and the for-loop still
works correctly.  This fully addresses issue #565.

Also fixed a bug with the stack not being fully popped when breaking out
of an optimised for-loop (and it's actually impossible to write a test
for this case!).