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
yeah, so with spawn, you have to specify where you want the stdout/stdin to go, but with fork, by default the stdout/stdin are shared with the parent (however, it is also buffered).

just tested, and it looks good, no interleaving is seen (i ran nyan cat)