Add more functions to git status.

1) Add function to check if the tree is clean or not.
2) Add functions to get staged, unstaged and untracked changes.
Add reset function to git index.
Update git pull.Update git pull.Update git pull.Update git pull.Update git pull.Update git pull.Update git pull.Update git pull.
Add git config.
Refactor to use new git config.
Rename GitConfig => Config
fix bugs.
Merge branch 'master' into git_pull3
Don't change focus to editor
Merge pull request #916 from dart-lang/git_pull

More work on git status, git config.
Merge pull request #923 from dinhviethoa/909-keep-focus-on-files-list

Don't change focus to editor