handle case where the backtrace is nil
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.
Merge pull request #177 from chuckremes/improve_printing

Improve printing in multithreaded environments