Events based on networking issues

We need to propagate networking issues as events to the caller.

According to our current design each networking issue triggers client
disconnection. There are following events that we need to propagate to
the client:
- Input/Output related issues (based on IOException)
- Connection issues like no route to host and connection refused
- Unrecognized messages (not stomp)
- Heartbeat timeouts

Now client disconnect method accepts a message which will be returned to
client which triggered communication. Event message is translated to
specific protocol implementation (json) and emitted to a client.
ResponseWorker is responsible for parsing the event content and passed
to a client for processing. When we noticed that we handle event error
message we pass it to responseTracker which notifies all the clients
waiting on messages from host that failed. In order to make it possible
we started to track the messages by the id and host to which messages
are sent.


Bug-Url: https://bugzilla.redhat.com/1149517
Change-Id: Ic004a60a00fdaf29024b1a059e614da83c3b9bd7
Signed-off-by: pkliczewski <piotr.kliczewski@gmail.com>