Add timeout before running tls's Handshake()
Add timeout before running tls's Handshake()

This addresses an issue where shutdown does not work. I discovered a
goroutine was hanging around waiting on Handshake() to complete:

goroutine 2790 [IO wait, 43771 minutes]:
internal/poll.runtime_pollWait(0xf76a59a0, 0x72, 0x0)
        /home/will/bin/go/src/runtime/netpoll.go:173 +0x4b
internal/poll.(*pollDesc).wait(0x18a74474, 0x72, 0xffffff00, 0x8313050, 0x831205c)
        /home/will/bin/go/src/internal/poll/fd_poll_runtime.go:85 +0x8c
internal/poll.(*pollDesc).waitRead(0x18a74474, 0x199cc000, 0x400, 0x400)
        /home/will/bin/go/src/internal/poll/fd_poll_runtime.go:90 +0x32
internal/poll.(*FD).Read(0x18a74460, 0x199cc000, 0x400, 0x400, 0x0, 0x0, 0x0)
        /home/will/bin/go/src/internal/poll/fd_unix.go:126 +0x147
net.(*netFD).Read(0x18a74460, 0x199cc000, 0x400, 0x400, 0x0, 0x199cc000, 0x0)
        /home/will/bin/go/src/net/fd_unix.go:202 +0x3f
net.(*conn).Read(0x18a0c4b0, 0x199cc000, 0x400, 0x400, 0x0, 0x0, 0x0)
        /home/will/bin/go/src/net/net.go:176 +0x56
crypto/tls.(*block).readFromUntil(0x199b47e0, 0xf76650b0, 0x18a0c4b0, 0x5, 0x18a0c4b0, 0x0)
        /home/will/bin/go/src/crypto/tls/conn.go:488 +0x75
crypto/tls.(*Conn).readRecord(0x18c74600, 0x16, 0x0, 0x8)
        /home/will/bin/go/src/crypto/tls/conn.go:590 +0xbd
crypto/tls.(*Conn).readHandshake(0x18c74600, 0x199c7580, 0x199d08d0, 0x10, 0x10)
        /home/will/bin/go/src/crypto/tls/conn.go:943 +0x63
crypto/tls.(*serverHandshakeState).readClientHello(0x18c57d98, 0x199c7590, 0x8055c8f, 0x3)
        /home/will/bin/go/src/crypto/tls/handshake_server.go:116 +0x35
crypto/tls.(*Conn).serverHandshake(0x18c74600, 0x82424f0, 0x18c746a0)
        /home/will/bin/go/src/crypto/tls/handshake_server.go:48 +0x72
crypto/tls.(*Conn).Handshake(0x18c74600, 0x0, 0x0)
        /home/will/bin/go/src/crypto/tls/conn.go:1309 +0x21c
main.(*LocalClient).getTLSState(0x18d9e5a0, 0x24, 0x199c7774, 0x1, 0x1, 0x18c829c0, 0x35)
        /home/will/go/src/github.com/horgh/catbox/local_client.go:121 +0x4c
main.(*Catbox).introduceClient.func1(0x18a8c000, 0x8315880, 0x18c74600)
        /home/will/go/src/github.com/horgh/catbox/main.go:560 +0x550
created by main.(*Catbox).introduceClient
        /home/will/go/src/github.com/horgh/catbox/main.go:547 +0x5c

horgh/catbox