Show difference against commit, rather than index.

Reference: http://www.gitguys.com/topics/git-diff/
vcs: More consistent performance by checking vcs types in fixed order.

In the future, should try to figure out vcs provider with a more
constant-time operation.
Add doc for LookupDirectory() that it's safe for concurrent calls.