Handle commits with newlines in the message.

process_commit_data was toggling between message and header parsing for every bare newline encountered in the data, which led to the elision of every other paragraph in a commit message. Now the switch to message parsing is permanent; once the headers have been found we don't need to look for them any more.