[tests] fix cleanup code that was leaving test dirs around
[tests] fix cleanup code that was leaving test dirs around

Summary:
the traps that were supposed to be cleaning up all the temp directories
that runtests.sh creates were not correct. from what I can tell, the `EXIT` trap
that was supposed to delete them only ran when you aborted the tests, not on
successful runs. we need to use `RETURN` for that case.

also, the background tasks appear to continue to run after the main runtests.sh
is aborted. I added a top-level trap to kill the workers.

Reviewed By: gabelevi

Differential Revision: D5492507

fbshipit-source-id: fc649406df3c02a6cffb35becf8afcc59c01bf49

claudiopro/flow,TiddoLangerak/flow,jamesgpearce/flow,ylu1317/flow,mroch/flow,MichaelDeBoey/flow,ylu1317/flow,JonathanUsername/flow,mroch/flow,MichaelDeBoey/flow,AgentME/flow,nmote/flow,facebook/flow,facebook/flow,nmote/flow,popham/flow,claudiopro/flow,popham/flow,facebook/flow,gabelevi/flow,samwgoldman/flow,JonathanUsername/flow,TiddoLangerak/flow,samwgoldman/flow,AgentME/flow,JonathanUsername/flow,JonathanUsername/flow,nmote/flow,MichaelDeBoey/flow,gabelevi/flow,AgentME/flow,samwgoldman/flow,TiddoLangerak/flow,facebook/flow,ylu1317/flow,MichaelDeBoey/flow,jamesgpearce/flow,JonathanUsername/flow,gabelevi/flow,mroch/flow,gabelevi/flow,mroch/flow,claudiopro/flow,mroch/flow,gabelevi/flow,facebook/flow,popham/flow,jamesgpearce/flow,jamesgpearce/flow,samwgoldman/flow,AgentME/flow,gabelevi/flow,AgentME/flow,mroch/flow,samwgoldman/flow,gabelevi/flow,claudiopro/flow,nmote/flow,jamesgpearce/flow,popham/flow,claudiopro/flow,popham/flow,facebook/flow,TiddoLangerak/flow,nmote/flow,MichaelDeBoey/flow,JonathanUsername/flow,jamesgpearce/flow,popham/flow,samwgoldman/flow,facebook/flow,ylu1317/flow,jamesgpearce/flow,mroch/flow,nmote/flow,popham/flow,samwgoldman/flow,JonathanUsername/flow,ylu1317/flow,TiddoLangerak/flow,nmote/flow