Patch Set 2: I would prefer that you didn't submit this

(1 inline comment)

Rebased change on Shawn's cleanups. Added unit tests for IndexWorkingTreeDiff filter. One of the tests is failing for reasons we don't understand.