FindAndHash reads all of r and returns the offsets of occurrences of id.
While reading, findAndHash also computes and returns
a hash of the content of r, but with occurrences of id replaced by zeros.
FindAndHash reads bufSize bytes from r at a time.
If bufSize == 0, FindAndHash uses a reasonable default.
ReadFile reads the build ID from an archive or executable file.
It only supports archives from the gc toolchain.
TODO(rsc): Figure out what gccgo and llvm are going to do for archives.