move git low level code from spark.dart to scm.dart
used the scm info to populate the branch name
review from github
review feedback; added back in a completer for ObjectStore
Merge pull request #764 from dart-lang/devoncarew_git_to_scm

Devoncarew git to scm