Promise chains can now be expanded / collapsed.

- Chains containing all fulfilled promises are collapsed by default.
- Chains containing at least one rejected promise are expanded by
  default.
- Chains containing a pending promise are expanded until the first
  pending promise.