Change send_ping to start and then abort a transaction.
Add catch for NotConnectedException to restart SSM.
Change send_all to avoid getting stuck in infinate loop.

- Add raising an exception in while loop when connection is lost to prevent
getting stuck there when connection is lost.
- Add small delay (100 ms, i.e. a little longer than ping) before while
loop to reduce log spam and delay in sending messages.
Change behaviour of time.sleep.

- Remove extra time.sleep as it doesn't help as intended.
- Make wait time increment so sender waits progressively longer (up to a
  minute).
Simplify waiting for broker loop.