More reducer improvements (#1471)
More reducer improvements (#1471)


  *  After we see a function can't be removed, deprioritize trying to remove it again (it may just be unremovable).
 *   Focus on reducing segments exponentially first, before zeroing out what is left (which is not exponential).

This was helpful in reducing a massive sqlite testcase.
WebAssembly/binaryen,WebAssembly/binaryen,WebAssembly/binaryen,WebAssembly/binaryen,WebAssembly/binaryen