this is the header

this is all of the explanation text
asdf
Created multiplexer.go file that creates the skeleton implementation of the NetworkMultiplexer interface.  Creates a NetworkMultiplexer struct and for purposes of passing the make test, a NetworkObject struct as well.  I have written in skeletons of he basic functions for the multiplexer with their name and arguments but not have actually implemented anything into the actual functions.  The NetworkObject struct is temporary until as well as a commented out argument in one of the functions because I have not been able to successfully call upon those objects that are declared outside of the multiplexer.go file.
Added Comments/Clarified Functions

Added comments into multiplexer.go to clarify the function purposes and give an idea about what will be added later into the future for their implementations
Adjusted syntax & functions implements properly

Changed variable names and syntax of multiplexer.go, using Colins SimpleMultiplexer.go as a base, to clarify the program as much as possible at this point in the project.  Also properly implemented NetworkObject from common rather than creating one in multiplexer.go.  I also edited or deleted comments that were no longer needed or were erroneous in their statements about the program.  Every function except for "listen", "Listen", and "Connect" has been fully implemented.  "Listen" and "Connect" have not been implemented yet due to the current progress of the project.  "listen" on the other hand has syntax errors that I currently cannot correct.  "listen" is based off of the one in SimpleMultiplexer.go but is adapted to handle maps of channels for the "in" and "out" channels and due the syntax errors, the implementation of "listen" as well as the import command for "log" have been commmented out for now
Fixed up Some of the Problem

After some consulting, I discovered that it was unnecessary to make "m.out" a map therefore I change it to "chan chan common.NetworkObject".  I also changed the code to account for this change of m.out such that NewNetworkMultiplexer, listen, and AddListener.  This solution has solved half of my original problem and I will need to read up more on concurrency in Go or ask Colin for help to fix the second half.
Fix deadlock in StateInformed block generation
Fix data race & make die actually work
Remove redundant logging in simple network multiplexer
Merge pull request #19 from c00w/stateinformed

Various cleanups for stateinformed
Rewrite network to not use channels
Close channels when shutting down
Fix stateinformed.Die and minor cleanups
Merge pull request #20 from c00w/stateinformed

Clean Up StateInformed
Merge branch 'master' of https://github.com/Siacoin/Sia

Conflicts:
	src/common/interfaces.go
Fixed Errors and Updated Syntax Usage

I fixed the problems that were plaguing my older versions of multiplexer.go after getting clarification on the purpose of each field and function.  Also updated from the usage of NetworkObject into multiplexer.go to use NetworkMessageHandler and NetworkMessage instead.  Also added a multiplexer_test.go file to run when "make test" is run.  The test file tests the basic AddListener and SendNetworkMessage functions of multiplexer.go as well as making sure that different indices in the map of Hosts can be stored in a NetworkMultiplexer.
Minor Changes

Made all the variables of multiplexer.go to be private , made "Network_Message" into "idhandler" and now private.  Changed the implementation of stateinformed_test.go to use NetworkMultiplexer instead of SimpleMultiplexer.
Merge pull request #24 from tassiahmed/master

Added multiplexer.go and multiplexer_test.go