consolidate dump traces to a single string before printing
When running multithreaded, several actors might be printing
dump messages simultaneously. To prevent the messages from
getting comingled to the point of unreadability, build a single
string and use #print to print it. A quirk of IO#print is that
it it not interruptible so each message printed is completed
before another string can be processed.
catch the situation where a backtrace is empty
create a new TaskSet class for task collection
Actor should use TaskSet instead of Set directly