Changed byteWriter to keep a buffer for use in Write as an optimization.

- byteWriter now has a "buf" field which is a []byte. Write now uses it
  instead of allocating a new buffer on each call. (Credit to bradfitz
  for the suggestion: http://play.golang.org/p/m0xo05UDZ2).