Don't require a deps.json for self-upgrade or create

* Fixes #14
Use long commit hash when updateing a git dependency

* Fixes #5
Merge pull request #16 from vube/feature-issue-5

Use long commit hash when updateing a git dependency
Rework switch for readability
Merge pull request #15 from vube/feature-issue-14

Don't require a deps.json for self-upgrade or create
Fix git merge before checkout bug

* Fixes #18
* The VersionControl interface now specifies Fetch() and Update()
* instead of just Pull()
Merge remote-tracking branch 'origin/master' into feature-exit-code

* origin/master:
  Fix git merge before checkout bug
  Rework switch for readability
  Use long commit hash when updateing a git dependency
  Don't require a deps.json for self-upgrade or create

Conflicts:
	dep/bzr.go
	dep/dep.go
	dep/git.go
	dep/hg.go
	install/install.go