Abstracted out jobmon protocol streams
Abstracted out jobmon protocol streams

There are three flavors:

- ProtocolStreamSocket
- ProtocolDatagramsSocket
- ProtocolFile

All of them sit on top of their respective type of IO objects, and are
responsible for reading/writing messages from their respective transport
mediums.

adamnew123456/jobmon