Brand new ReplyWaiter based on futures

Made reply handling code much simpler.
As a bonus overall performance of calls is doubled

Change-Id: Ieba012e67a9857ca84cd5af4d3aed31ee09f6142