refactor to support scm events
fire events when git branches change; update the file view labels on those events
Add util function to get sha for a fileEntry.
Add file status types.
Add implmentation of git index.

It maintains the index of file status in the git repo.
Add git status.
Don't write unchanged files on commit.
nits.
Add write index support.
cleaned up scm events; some scm operations now tell the workspace about their changes
Addressed comments.
nit.
Added separator test before implementing
merge to master
change method to private
Changed example
Setup temporary styling (red background) for separator.  Height override is not working.
Merge branch 'master' of https://github.com/dart-lang/spark into umop-polymer-menu_separator
fix new file/folder to work on selection
Merge branch 'master' into work