Agent-Worker Message now uses JToken payload and is sent async

As part of the cleanup for this change, Worker logging now transmits through messages instead of standard error and the standard IO reads/writes are now async.
#18 #20 addressed by this fix
@davidfowl @abnanda1  @intern-felicco 
Previously, log messages were written to standard error because the message structure was not flexible enough to support this message format. The standard error messages were only intended to support logging, a new issue could be opened if there is a desire to capture other output from standard out.