Add experimental support for continuation based requests.

Currently API requests are blocking which is nice for debugging
but not so nice for performance.  Here we introduce a very bespoke
CPS async method. The async method takes a function to run
asynchchronously and a couple methods to also run async
to signal completion. Using async invocations for both means
there's no concerns about callbacks hogging the thread.

Keep in mind this CPS implementation is adhoc and not intended
for general use.  It's really intended for the above func/completion
scenario only.  Also, I need to hide the internal machinations of
wrapping the user's functions into a Continuation context.