Replaced Signal.trap('INT') to at_exit
Fixes to tournament code (still non-functional)

Also, I didn't know eval took an argument for a file name, this is very
helpful in finding out which file errors occured in, in the case of
dynamically loaded triggers.
Shouldn't exit if we're already exiting