Print debug stacktraces from within a forked worker

Fixes CHEF-4357: http://tickets.opscode.com/browse/CHEF-4357

Rescue exceptions from within a forker worker and feed them to
`Chef::Application.debug_stacktrace()`, then exit non-zero. This fixes
an issue where Chef would spew ruby stacktraces with forking enabled
(stacktraces should only be printed to console with `-l debug`).
Additionally fixes an issue where a generic exception was passed to
`debug_stacktrace`, leaving a stacktrace.out file with no useful
information.

In addition to the above fixes, includes the following improvements:
* Update the forked worker's argv0 to clearly indicate it's the worker
  process, and include ppid and run start time.
* When reaping the worker process, include more useful information when
  the worker exited non-successfully, such as exit code or signal that
  killed the process. In particular, OOM kill (e.g., when running
  resource intensive code compile, etc. on small machine) should be a
  little more obvious.
Exit worker process on INT/TERM
Merge branch 'CHEF-4357'