Some tweaks to make CSmith easier to setup / debug.

I struggled a bit getting CSmith / CReduce running yesterday. These changes should help anyone making future attempts. In particular, I've:

* Changed the lookup for CSmith / CSmith's runtime to be based on environment variables instead of a hardcoded path
* Added a `check_execute` function in `shared.py` so that failed commands actually throw errors. I think most instances of `shared.execute` in Emscripten can actually be replaced by `check_execute`, but I can't be sure without actually combing through everything, so for now I'm just going to introduce it as an alternative.
* CReduce's testing script should return `1` for 'uninteresting' and `0` for interesting, which is the opposite of what is was doing. Despite this change, most CReduce passes fail to remove any code from the fuzz bug, so the script is still broken. However, I think it's still worth checking in so future work can build upon it.