Fixed up logic for when a reconnect fails. It was not firing the reconnect failed message.

Added a test for this to ensure forward compatibility.