Fix git merge before checkout bug

* Fixes #18
* The VersionControl interface now specifies Fetch() and Update()
* instead of just Pull()