[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.