Resolve crash with diff against empty file

It is not legal inside our `p_mmap` function to mmap a zero length
file.  This adds a test that exercises that case inside diff and
fixes the code path where we would try to do that.

The fix turns out not to be a lot of code since our default file
content is already initialized to "" which works in this case.

Fixes #1210
Merge pull request #1212 from arrbee/fix-diff-empty-file

Resolve crash with diff against empty file