Covers the three checkForUpdate outcomes (null/error/available) and the install() flow (downloadAndInstall then relaunch).