Handle the "no local address" case in send_sptps_data()

If `choose_local_address()` is unable to find a local address (e.g. because of old nodes that don't send their local address information), then `send_sptps_data()` ends up using uninitialized variables for the socket and address.

This regression was introduced in 415910897122da0073a862784d148802ca390020. The commit took care of handling that case in `send_udppacket()` but was missing the same fix for `send_sptps_data()`.

This bug was found by the clang static analyzer tool: http://clang-analyzer.llvm.org/