Refactor waiter code in libasync to avoid repetition.
Refactor waiter code in libasync to avoid repetition.

etcimon/vibe.d,etcimon/vibe.d,Geod24/vibe.d,chalucha/vibe.d,DBankov/vibe.d,rejectedsoftware/vibe.d,gedaiu/vibe.d