Upload pack: wait for the client to close the connection

When `git-upload-pack` in run on an empty repository, Dulwich currently closes the connection immediately, without waiting for the client to send an (empty) list of wants.

This is different then how other implementations of the protocol work (try for example `ssh git@github.com git-upload-pack damz/empty.git`), and it seems like most versions of Git freakout if we close the connection ourselves, and will not create an empty repository on clone.