Implement async upgrade checker

* Reads from github looking for updated tags
* Runs in a goroutine to not slow down normal operation
* Uses the timelock cache to only check github at intervals
Add documentation for upgrade checks
upgrade: Fixes and cleanups from pull request
Merge branch 'master' into feature-cleanup

* master:
  upgrade: Fixes and cleanups from pull request
  Add documentation for upgrade checks
  Implement async upgrade checker

Conflicts:
	Readme.md
upgrade: fix golint warning
Bump version to 2.9.1