Add copy for an entire message, private for now
Adapt singleinflight a little to fit my needs better
Perform query inflight deduplication

Taking a queue from Go tip, I copied over the new code and tweaked
it a bit for use in Go DNS.
Implement outstanding query detection.

Copied from the standard library and adapted to Go DNS.