Bug fix for race in AsyncChannel

I could reproduce this problem at will.

The async handler would write a response to the channel, the client would immediately send the next request, the server loop would then call reset(), and finally the original handler would clobber headersSent.

Consequently the next response sent was missing its headers.