added tracking and logging by forking and message passing

review: @marcgrr 

by forking instead of spawning, we can pass messages about each test to the parent process.

at the end of the tests, output how many tests have failed and log details in triple-latte.fail.log
if all tests pass, output success message and remove triple-latte.fail.log if it exists
the messages say `triple-latte.log` but this is `triple-latte.fail.log`