Upload is now more reliable

fobj.read(n) and socket.recv(n), according to the specifications, don't need to
return n, just max. n bytes. That could cause broken files during upload. That
is now fixed.
Also, I have removed a few unnessasarry classes (readsock, readmd5).