Fix incorrect ports in connection URL

When connecting to a Socket.IO server running on a standard HTTP/HTTPS port (80/443) with the client script running on a non-standard port, the server port is replaced with the (incorrect) client port.

This happens due to Socket.IO's URL normalization for multiplexing support. The port is removed from the URL where the server is using a port standard to the protocol (80 for HTTP, 443 for HTTPS). Once missing, Engine.IO assumes the port should match the client location's port, which would be incorrect in the scenario above.

I noticed this bug while developing on my local :8080 web server while trying to connect to a Socket.IO server running on :443 using a HTTPS URL with and without a port defined.

----

Latest `socket.io-client` running on `localhost:8080` establishes a connection via:

```js
var socket = io('https://some-domain.com');
```

Instead of connecting to `https://some-domain.com/socket.io/?EIO=2&transport=polling`, Socket.IO tries to connect to `https://some-domain.com:8080/socket.io/?EIO=2&transport=polling` (notice the port).

---

In the meantime, I have replaced Socket.IO with [Primus](/primus/primus) with Engine.IO and `primus-emitter` to simulate Socket.IO's functionality.
Can we retain `3` here?