Added Framework for Connect() and Listen()

Using the golang net package page as guidance, I implemented basic code for both Connect() and Listen().  Connect() connects to a specified address using the net.Dial() methods and if there is an error with the connection returns an error message.  Listen() creates a server and and begins to listen for any incoming connect requests; if there is an error in either creating the server or connecting to a requester an error message is returned.
Merge branch 'master' of https://github.com/Siacoin/Sia
Fixed up Status Message Typos and Other Stuff

Cleared up some typos that I made in status messages from the Connect() and Listen() methods in mutiplexer.go.  Also cleared up some syntax in Listen() to fix up what a status message returns.  Added some more status messages that gave more details at what the multiplexer was currently doing at that step such as in the Listen() and Connect() methods.
Merge branch 'master' of https://github.com/Siacoin/Sia
Comments Added and Syntax cleared up

Cleared up some comments to make them more understandable and fixed up some of the formatting in my code to align more closley to that of standards.
Merge branch 'master' of https://github.com/Siacoin/Sia
Merge branch 'master' of https://github.com/Siacoin/Sia
Merge branch 'master' of https://github.com/Siacoin/Sia
Minor Modification to multiplexer.go

Changed the address returns in the Listen() method to RemoteAddress() instead of Local, this is due that connections between different computers will not be in the same local network so change to remote for this reason.
Added Log Messages and fixed possible bugs

Added Log messages in bothe Listen() and Conect() of multiplexer.go that displayed the error that occurred.  Also  added return statements at the end of the error message for net.Listen() and net.Dial(), if an error does exist, to make sure the fucntion terminates after reading out the error and does not try to proceed to give erroneous messages or make connections w/ other servers when there was an error somewhere.
Finished implementations of Connect() and Listen() in multiplexer.go

Wrote the remaining code needed to be implemented in Connect() and Listen() of multiplexer.go.  Both methods encode and decode messages that they send to other hosts through the established channels.  Next to be implemented are the test cases for theses functions in multiplexer_test.go as well as clear up the syntax in multiplexer.go as much as possible.
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.
Fixed typos in multiplexer.go log statmentes

Exactly as stated in title, fixed up some typos in log.Println() printouts that I became aware of.
Added tests to multiplexer_test.go

Added a few lines in multiplexer_tests.go that test the Listen() and Connect() function of the Network Multiplexer.  So far the test works and no errors arise when running make or make test.
Minor Syntax Changes

Condensed the syntax in multiplxer.go a bit more and made it more understandable.
Edited Mutiplexer.go to Implement New Package

With the addition of common/log, only one log.Println() had been edited so I changed all remaining log.Println() remaining in multiplexer.go to log.Debugln().
Fixed up use of Encode in multiplexer.go

Realized Encode() and Decode() in multiplexer.go were not being used properly which would cause issue in the future because of the misuse.  Fixed that up and updated the multiplexer_test.go file to reflect changes in test cases regarding these methods.
Adds functionality for splitting a number of hosts

Added a function called RandomPlacement which takes a number of hosts
and a seed.  It splits the number of hosts into 192 buckets (number of
buckets is specified in parameters.go as REQUIREDTOFILL).  It splits
them according to the seed.

added:
	randomplacement.go
modified:
	parameters.go
Merge branch 'master' of https://github.com/Siacoin/Sia

Conflicts:
	src/common/parameters.go
Functionality for splitting hosts given a seed

Adds function RandomPlacement which takes a number of hosts
and a seed.  The hosts are split among 192 buckets (size is
specified in common/parameters.go as REQUIREDTOFILL) accoreding
to the seed that is given.  The slice of ints (buckets) is returned.

new file:
	quorum/randomplacement.go