Remove `Deferrable[T]` and replace with POF (plain old Future)

closes #15962
I completely agree that leaving the wait method here needs package restrictions, or even better move it to a test helper.

The FastFuture doesn't need to be an `Awaitable` since it's never exposed in any APIs .