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

closes #15962
`FastFuture` is a value class, so it doesn't actually exist.
However, you can perfectly well write `Await.result(someFuture.fast.map(...), 1.second)` since the results of all the "fast" operations are themselves regular futures.
The `await` pimp here is not much more then sugar which allows one to get around the awkward `Await.result(...)` construct in tests. The potential "fast-ness" of `await` is not crucial in fact.