Allow retransmission if it will result in faster delivery
As proposed by @akwizgran this will save the time a message got sent (or rather picked up by a session) instead of saving the expiry time. This has the advantage that the next send-time is calculated based on the currently used transport and not forced by the transport which previously sent it (as we do it right now). This will allow us to resend a message if the current transport is faster.
Closes #541 (closed)