Split requireProgram into two different functions
Now requireProgram doesn't take a version range and does not check the program version (indeed it doesn't need to have one). The new function requireProgramVersion takes a required program version range and returns the program version. Also update callers. Also fixes the check that GHC has a version number.
Showing with 105 additions and 66 deletions