Generate random peer id
TCP Listener
Add bencode encoding and refactor old code