Much more convenient syntax in multiplexer.go

Changed from the use of conn.Read() and conn.Write() to json.Encoder.Encode() and json.Decoder.Decode() which compresses the syntax of both the Listen() and Connect() methods of multiplexer.go into much more nicely written and more readable implementations.  This is possible due to how Ecnode() and Decode() both ecode/decode an object into a JSON object while also read/writing into the stream between the 2 Network Multiplexers.  multiplexer_test.go will be edited in a later commit in order to test out the functions of the Listen() and Connect() methods.