compiler respects 'keep_going' flag

I am creating this PR as a base for further discussion.

I found that this change works fine for me, but I don't know if the fact that the worker pid is not removed has any bad effects. 
I see, but the "Compiling" message is printed first to match the way we print success reports for each file. I'm not convinced this is an improvement. What do others think?