[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