Merge pull request #137 from lloydwatkin/master

Add a port number for zombie
[minor] Recompile the Engine.IO client.
[doc] According to my markdown editor, I made these spelling mistakes.
[codestyle] Fix indentation of `offline` function
[minor] Moved our x-forwarded-for parser to it's own module `forwarded-for`
[fix] Forcibly disconnect a `Spark` if no data is received from the client within a given timeout

Fixes #138
Merge pull request #140 from lpinca/fix/zombie-sparks

Forcibly disconnect a `Spark` if no data is received from the client within a given timeout
[minor] Remove the .bind from the heartbeat.
[minor] Create a dedicated heartbeat method.
[fix] Forcefully close the connection when we get a timeout.
[fix] Added missing readyState check and `end` emits
[minor] Remove pointless `if` statement
[minor] Remove another pointless `if` statement cos OCD
[test] Add tests for the `Spark` disconnection timeout
[doc] Add documentation for the newly introduced `timeout` option
[test] Added test for timeout generation in the client.
[minor] Added some comments on why the timeout is synced
[minor] Fix some typos
[minor] Introduce `primus.latency` It was to damn simple not to implement.
[minor] Start with time to connect as initial latency.

This fixes 2 important issues:

1. When we're reconnecting we don't set an insanely high latency as our old ping
   messages were never send.

2. It gives the latency it's initial value. A connect usually involves some package
   thats send back and forth so it gives us an idea on the performance of the
   initial connection.
[doc] Add a bit of documentation about heartbeats and primus.latency
[fix] Our internal/protocol messages should bypass the message transformers.