Topic/async client

Added support for making async client calls. This functionality is built to allow you to send multiple requests and then wait for their responses.