Make it possible for clients and servers to use Lwt or Async

Signed-off-by: Jon Ludlam <jonathan.ludlam@eu.citrix.com>