by default, require that subcommands actually succeed.  there were scena...

I ran into some scenarios where emcc would invoke llc, compiler.js, or js-optimizer.js, and one of the subcommands would fail partway through.  However, enough output would have been produced by that point that emcc would consider the build a success and keep on going, leaving a corrupted build.  All subprocess invocations should fail if the return code is not 0, unless otherwise specified.

I ran a sampling of tests and they all pass.  Still running more, but it might take a while.