Maintain backward compatibility with existing target files

Maintain backward compatibility with standard target files by peeking ahead to the next value after reading a method + URL; if the next line starts with another HTTP method then short-circuit the header/body parsing and remember the peeked value for the next call to create a Target.

FWIW, I used `Peek()` as the metaphor for the lookahead Scanner because the Golang `text.Scanner` does it that way.
This will make us have references to the original headers, instead of a copy which is the intended behaviour.
We need to copy because the http client mutates http headers under certain conditions.