made environment and working directory passable and configurable by users of each Compiler instance and fixed a bug where the exit status was wrong when the cache was disabled