lib/connections: Fix connection switching
lib/connections: Fix connection switching

It seems that it would be impossible to drop down to relay after establishing a direct connection
Also, we should not drop the existing connection until after we've passed the validation steps,
and it seems it's being dropped in two places unnecesserily at the moment.

GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3480

AudriusButkevicius/syncthing,kamadak/syncthing,uok/syncthing,AudriusButkevicius/syncthing,le9i0nx/syncthing,syncthing/syncthing,lkwg82/syncthing,syncthing/syncthing,imsodin/syncthing,letiemble/syncthing,imsodin/syncthing,letiemble/syncthing,xduugu/syncthing,rumpelsepp/syncthing,kluppy/syncthing,kluppy/syncthing,brgmnn/syncthing,jryans/syncthing,kluppy/syncthing,Kudalufi/syncthing,le9i0nx/syncthing,AudriusButkevicius/syncthing,uok/syncthing,uok/syncthing,uok/syncthing,plouj/syncthing,rumpelsepp/syncthing,lkwg82/syncthing,wweich/syncthing,lkwg82/syncthing,wweich/syncthing,kamadak/syncthing,imsodin/syncthing,letiemble/syncthing,imsodin/syncthing,nrm21/syncthing,kamadak/syncthing,ProactiveServices/syncthing,AudriusButkevicius/syncthing,nrm21/syncthing,brgmnn/syncthing,nrm21/syncthing,syncthing/syncthing,cherylquirion/syncthing,ProactiveServices/syncthing,ProactiveServices/syncthing,imsodin/syncthing,plouj/syncthing,ProactiveServices/syncthing,Kudalufi/syncthing,syncthing/syncthing,lkwg82/syncthing,Kudalufi/syncthing,Kudalufi/syncthing,jryans/syncthing,plouj/syncthing,wweich/syncthing,kamadak/syncthing,plouj/syncthing,syncthing/syncthing,cherylquirion/syncthing,nrm21/syncthing,letiemble/syncthing,xduugu/syncthing,rumpelsepp/syncthing,jryans/syncthing,xduugu/syncthing,cherylquirion/syncthing,jryans/syncthing,brgmnn/syncthing,wweich/syncthing,le9i0nx/syncthing,xduugu/syncthing,syncthing/syncthing,rumpelsepp/syncthing,cherylquirion/syncthing,kluppy/syncthing,le9i0nx/syncthing,brgmnn/syncthing