more readable
if upload is rejected, we are told why
socket events are named better
also, the server now acts as a torrent client