Created a helper function to create a TCP based MessageConn

This is going to be used from several places, so lets centralize it.
Switch to using <host>:<port> strings to represent addresses

This is as opposed to passing around host and port as separate items. This
makes it easier to deal with the net.Dial function.
Update the test script to explicitly check the output of the test program

It's important to make sure the program actually is producing the right
output.
Basic server code

This code does the following:

 - Handle state updates from workers
 - Send available works to clients that request it

It's still a work in progress.
Refactor the worker into cbd package added server status sending

This structure allows better testing of the internals of the worker itself.
The cbd command is now acts as either a worker or a server, and allows for
customization of the listening address.
cbdcc now will now use the server if CBD_SERVER is set to find workers

The code will prioritize CBD_POTENTIAL_HOST over CBD_SERVER if present. If
the remote build fails for some reason a local build is run instead.

The test.sh bash script has also been updated to check the output of the
test progam and to test the server version of the compile build.
Added a GetLoadAverage to return the 1 minute system load average

This is to allow properly scheduling of jobs to machines that currently
have available CPU.
Workers now report system load

This will enable proper scheduling of jobs to machines with available
resources, and not overload any particular machine.
Update server to maintain a persitent worker connection

This will reads in the incoming worker state updates, and updates the
current internal state.