Remove abort on exception
Errno::EPIPE has to be handled so as Thor::Base.start doesn't issue exit(0)

If for some reason pipe to which message is being written is closed that
causes a unhandled Errno::EPIPE exception which is handled by Thor itself
and Thor calls exit(0) whenever that happens.

This in turn prevents original exception to be printed because process exits
before it can print the message.
Handle unhandled exceptions for thread workers and enque a wrapped exception
Bring in fix introduced in PR#2622

Make sure thread index is passed when calling installer proc
Merge pull request #2623 from bundler/fix-thread-safety-parallel-install

Fix thread safety parallel install