This is possible now that we no longer support go1.12 and brings rclone into line with standard practices in the Go world. This also removes errors.New and errors.Errorf from lib/errors and prefers the stdlib errors package over lib/errors.
Allow downstream packaging to build rclone without selfupdate command: $ go build -tags noselfupdate Fixes #5187
Implements self-update command Fixes #548 Fixes #5076