Worker IO refactor4

Creating and using an AgentReceiver class to deserialize calls from worker to agent
@davidfowl @abnanda1 
When I wrote the tests for the WorkerReceiver, I used a ManualResetEventSlim, but @davidfowl requested a cts instead. Just continuing the pattern to be consistent.