Added package `update` and `semver` that can be used for selfupdate.
Most of the code was copied from [go-selfupdate](https://github.com/creativeprojects/go-selfupdate), [go-update](https://github.com/inconshreveable/go-update) and [semver](https://github.com/Masterminds/semver). Most of the unneeded code has been removed, so there is no need to add new dependencies.
In addition, users with the `mips` arch will not be able to selfupdate, as there is no way to get the float of the MIPS arch.
Tested OS and arch:
- [x] linux/amd64
- [x] linux/arm64
- [x] windows/amd64