Register the exception, not the message

- Since getDetail() will introspect the exception to determine whether or not to
  display just the message or also include the stack trace, pass the exception
  in.
Better traces and previous exception display

- Capture stack traces to a "trace" property of the problem
- Capture previous exceptions to an "exception_stack" property of the
  problem, an array of objects, each with code, message, and trace.
Merge branch 'hotfix/exception-handling'

Better exception handling

- Any exception captured by the `dispatch.error` listener is pushed into the
  created `ApiProblem`, thus ensuring that we will get a stack trace if
  `display_exceptions` is enabled.
- Traces are now captured to a `trace` member of the problem, using `getTrace()`
  instead of `getTraceAsString()`
- Previous exceptions are now captured to an `exception_stack` member, as an
  array of objects with `code`, `message`, and `trace` members.