Lots of changes. Just backing up. Can join successfully now, however getting memory errors on second channel join. Drastically rewrote the tcp sending and recieving to do everything serially rather than with packets to avoid the dangers of sending packets.
irrelevant merge conflicts