Fix diff output for renames and copies

@ben discovered a bug when looking at text diffs after using rename detection. The function that decides if data should be loaded for a given delta didn't know which sides of the diff to load for those cases and defaulted to loading no data, so no text diffs were availble.

This fixes that bug and adds a test that looks at the patch generated for diff entries that are COPIED or RENAMED.