go.crypto/hkdf: get rid of appends

LGTM=agl
R=golang-codereviews, bradfitz, agl
CC=golang-codereviews
https://golang.org/cl/95370044
diff --git a/hkdf/hkdf.go b/hkdf/hkdf.go
index b20e834..5c6cf6f 100644
--- a/hkdf/hkdf.go
+++ b/hkdf/hkdf.go
@@ -42,13 +42,11 @@
 	p = p[n:]
 
 	// Fill the buffer
-	var input []byte
 	for len(p) > 0 {
-		input = append(f.prev, f.info...)
-		input = append(input, f.counter)
-
 		f.expander.Reset()
-		f.expander.Write(input)
+		f.expander.Write(f.prev)
+		f.expander.Write(f.info)
+		f.expander.Write([]byte{f.counter})
 		f.prev = f.expander.Sum(f.prev[:0])
 		f.counter++