title: Golang OpenFile O_APPEND does not respect Seek
body: <p>When I open file in mode like this:</p>
  
  <pre><code>file, _ := os.OpenFile("/path/to/my/file", os.O_RDWR|os.O_APPEND, os.FileMode(0666))
  file.Seek(start, os.SEEK_SET)
  io.CopyN(file, resp.Body, length)
  </code></pre>
  
  <p>io.CopyN does not respect the position where I sought. It seems it just append to the tail of the file. Instead if I open the file like this:</p>
  
  <pre><code>file, _ := os.OpenFile("/path/to/my/file", os.O_RDWR, os.FileMode(0666))
  file.Seek(start, os.SEEK_SET)
  io.CopyN(file, resp.Body, length)
  </code></pre>
  
  <p>It works as I expected. io.CopyN writes to the file from the "start" point I sought. Not sure if this is a feature or a bug?</p>