Construct diffs with attached changesets, even if empty
Summary: See discussion in IRC. Not 100% sure what's going on here because of email ghost theives, but conceivably a commit with no changes will end up with null changesets instead of array() changesets, which throws. Such diffs are certianly possible (git commit --allow-empty) even if they aren't the issue in this specific case. See T3416. Initialize changesets to array() to avoid throwing.
Test Plan:
Viewed some commits?
iiam
Reviewers: btrahan, chad
Reviewed By: chad
CC: aran
Differential Revision: https://secure.phabricator.com/D6339