Update main.go

*Added func cost(...)
*Described communication (very loosely)
*Fixed some obvious indexing errors
*Modified runOffList(...) to be more correct and to get orders from channels instead of shared array.
*Added func contains(...)
and some other stuff...

I realize this is not only not running but extremely messy. But everything on the Running should now be in here. There are some choices to be made to where to put the functions, as well as how many we want defined rather than an local function etc. etc. but if i'm not mistaken this is for the big piecing together rather than something we get perfect from the getgo.

Things took longer than expected today (shared array vs. channel f.exa.) so I didn't have the time to test in the lab. But as I said, the most important pieces should be there.