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

closes #15962
> The await pimp here is not much more then sugar which allows one to get around the awkward Await.result(...) construct in tests. 

Shouldn't that method be scoped to tests then? The whole point of Await to be awkward and easy to search for the usage of it.