Salt transport

Abstract out much of the zeromq communication to begin refactoring in advance of allowing different communications transports.