Functions should return errors, not ints

* Fixes #10
* Implement result package to store global run exit code
* Functions that generate errors should return them and/or call
* result.Error() to indicate that depman should exit non zero
Revert accidental change
util: Fix broken tests
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
Fix incorrect check for error
Fix git double pulling when cache is stale
Bump version number, because of bug fixes
result: Update function names to reflect what they do
Merge pull request #17 from vube/feature-exit-code

Functions should return errors, not ints