Close done channel for non-streaming responses.

This should fix the memory leak in discoverd: https://github.com/flynn/discoverd/issues/48