Add unit test to exercise git checkout timeout

It uses a TCPServer that doesn't send anything. Any ssh client will hang
for a very long time when connecting to such a server.