Added markers to the IPC stream so the client knows when to stop reading. The previous behavior was to just read until the pipe was empty and swallow the exception.
The discover process still needs a ton of work but this at least puts it behind a slightly better interface.