write directly to the output stream, rather than holding on to arrays of strings.
give filter lines a `bufio.Scanner` instead of a `bytes.Buffer`
naive handling for UTF8 byte order marks from git output.