Merge merges several coverage files into single file.
All input files are fully read before output file is written,
so it may be one of the input files.
Test runs `go test -cover` with correct flags for all packages in flagSet, and merges coverage files.
Returned error may be *exec.ExitError if tests failed.