Worker io refactor

Part one of four to refactor the Worker to Agent connection. This change adds an IRemoteWorker interface that is used on the Agent side for sending messages.
@davidfowl @abnanda1 @intern-felicco 
I would rather not put this in a .Tests namespace, especially if we plan to add any kind of folder structure to the projects in the solution.