main.model: recount diff lines when applying

Use "git apply --recount" when applying diffs.  This makes the
interactive diff editing more robust.

Related-to: #191

Signed-off-by: David Aguilar <davvid@gmail.com>
diffparse: support diffs that remove the entire file

The diff header format is different when the entire file is removed and
replaced with a single line.

Add test fixtures to demonstrate this diff output and add unit tests to
ensure that we can parse these diffs.  Teach the diff parser to parse
these header lines so that we can generate proper diffs.

Closes #191

Reported-by: Eli Skeggs <skeggse@gmail.com>
Signed-off-by: David Aguilar <davvid@gmail.com>