Removed re-entrant calls and cleaned up transports.
- Only send connection state if the result is terminal
- Wait on Disconnect callback to fire before returning bus result.
- End request on terminal message in ForeverTransport.
Fix more issues with LongPollingTransport and ForeverTransport.
- Handle timeout requests correctly in ForeverTransport.
- Make sure to always handle failed sends in the LongPollingTransport.
- Handle PersistentResponse not having any messages.
Unify error handling in LongPollingTransport.