Add Git Diff command

1) Adds a git diff API
2) Currently it returns the list of `modified`, `added`, `deleted` files, with old and new content.

Upcoming: Actual Diff of the two versions of file. (in a different PR).

@devoncarew PTAL thanks.
Could you add `Map` for clarity? Also, need a space.