[test] Adding reproducible test case for #110
[minor][fix] Make the uri writable
[fix] Provide Engine.IO with a pre, and correctly parsed url object.

The problem here was that Engine.IO incorrectly defaults to the `location.port` if
the supplied url didn't have port number. So if you supply engine.io with an:

  https://localhost

url on a page that runs on port 5000 it will transform the url to

  https://localhost:5000

See https://github.com/LearnBoost/engine.io-client/blob/fe935edf975e2fd30471ff0642e4567a3ad5e914/lib/socket.js#L71 for the actual cause.

cc/ @guille @corford

Fixes #110