tracker mangles peer ports

The tracker seems to mangle port information when returning peers in compact (binary) model. This PR illustrates the problem via a failing test:
```
    expected: '127.0.0.1:6881'
    actual:   '127.0.0.1:6895'
```
Two peers connect to the tracker: one on port 6881 and another on 6882. When receiving a response from the tracker the second peer expects to find the first one, but instead discovers an erroneous peer.

Consequently, when returning peers in non-compact (dictionary) model, the tracker seems to mangle IP information, but that's a separate issue.