Remove LegacyPromise

Depends on PRs:
- [x] #4725.
- [x] #4726.
- [x] #4727.
- [x] #4728.

Fixes #4430.