This change eliminates a deadlock in the code base where a connection would never complete. I think this is the deadlock problem that have been plaguing the system for some time now.
The problem was that we forgot to close down sockets after their use. Hence, the code began to error out since we got duplicate connection IDs. This happens very quickly, mostly due to the birthday-paradox. This patch fixes that and dutifully closes down sockets after they have been used. I wonder if the reason we sometimes get lockups is due to things like this.
If the network is really bad, we may end up seeing an early close of the connection in either direction. When that happens, there is no hope for receiving the amount of bytes you want.
This fixes a problem where floats are used in the utp_process module, where it was intended to be integers. I've also added a guard on that part of the code to make it more clear something is wrong.