Removed the current usage of git_diff_index_to_workdir().

The function git_diff_index_to_workdir() always loads the workdir from
disk for index entries whose stats don't match (i.e., after a call to
read-tree). The now implemented way should correspond better the with
the behaviour of original git, which respond by using a 0 oid in this
situation.
Moved sgit_get_mode() to git-support.c
Preliminary support of --refresh
Identify (in a limitted way) whether a file has been modified.

Unmodified files are no longer listed.