(TK-27) Modify create-client function

Modify create-client function in async.clj to now return a new
client wrapped in the async-client protocol. Make create-client
public. Modify request to make a default client if none is
provided to support these changes.