Fix connection lost tracebacks from gcylc on suite shutdown.

This started happening relatively recently ( possibly after
multi-threading cylc?) although looking at the code I'm not sure why it
didn't happen earlier too. Anyhow, this commit also rearranges the guts
of the reconnect() methods to make them consistent between the three views.