First pass at implementing basic test around extension state checking behavior, wanting to discus with team about level of testing to perform and whether this is really the right place.
This commit is a bit of refactoring to bring the extension update checking logic up to par with what is done with `gh` including creation of state file per extension and listening to env vars for disabling version checking.
This work is not complete as it does not address necessary test changes.
* `gh extension install` not give an error if extension already installed and a clear message
* remove test
* Add implementation
* lint go.sum
---------
Co-authored-by: Sam Coe <samcoe@users.noreply.github.com>