Made some improvements performance wise.

Added more Threads to the connections.
Now we have one for incoming, another for outgoing and one for each of
the sequence number persistors.
The engine should have also gained some clarity as it was a bit messy.
The incoming message Thread is also used for the handling of the
messages.
Corrected failures generated by the previous refactoring