Uses filesystem, index, and HEAD to to show changed files for commit
Look at the entire index, compared with the disk and HEAD, to populate the
dialog, then use that selected info to perform the tree modifications.
* Keep track of which files are in index vs not in index. Index takes
precedence.
* IndexDiff examines the index to see if there have been any files removed
on the paths we're looking at.
* Add the selected non-indexed files to the index.
For files that are changed from HEAD in the index, and also different
from that on the disk, we pick the changes in the index. Next will be to
add a context-menu option to update those files in index.
Signed-off-by: Dave Watson <dwatson@mimvista.com>