Generate proper diffs with moved file information for Perforce.

Modern versions of Perforce support file move operations. These may
either be straight moves, or moves with file changes. We now handle this
information and diff the files correctly. We also inject some custom
fields indicating the move information, so it can be processed by
Review Board.

This feature is funded by NetApp, Inc.