Bug fixes and extensions to util.py
Add blocks to worklist if only one exit from block

Also added constant propagation