Devoncarew git tests

Added a test for git clone (live against a github address). Also for git pull - again live - when the pull has no changes. In order to do this I needed to plumb out some code so that clone and pull could run against the html5 filesystem (as opposed to the chrome filesystem). I also tried to add more type safe code in the areas that I touched.

I did run into an issue where:
- clone
- modify a file
- commit that change
- push to remote
would claim that there where to commits to push. I saw this in master - not just this branch - so don't think this is a regression introduced by this CL.

@gaurave