This change replaces 'amd64' with 'x64' in the file names of the output binaries.
The binary names are now set directly in each build target, rather than declared as variables.
- Add `Version` string var to config package for storing version information.
- Update Makefile to set the `Version` variable at build time using the latest Git tag.
- Add `-version` flag to main package to print version information and exit.
- Remove setting the GO111MODULE environment variable from Makefile when building. It's not needed.
- Strip debug information to reduce binary size, using `-ldflags="-s -w"`.
- Remove file system paths from the build environment in the resulting binary, using `-trimpath`.
- Add targets to build for Linux, FreeBSD, and Windows.
Changed all commands that use long arguments to short arguments in the installation script and Makefile. This improves compatibility, as short arguments are more universally supported.
This changes adds better upgrade handling. If a previous installation is detected, the user is prompted to upgrade and only the steps necessary to upgrade are performed. This change also simplifies variables for source/target bin and config file.