(PUP-2882) Detect when module is not on forge

Prior to this commit it was unclear when upgrading a module not found on the forge
wether there was no available upgrades on the forge or the module was simply not
on the forge.
This commit adds a check before even attempting graph/dependency resolution to
see if the module exists on the forge and quits if it is not.
(maint) Never load facts when testing static compiler
Merge pull request #2904 from highb/fix/master/pup-2882_fix_only_local_version

PUP-2882 Fix upgrade behavior
Merge branch 'maint/stable/static-compiler-loadfacts' into stable
Merge branch 'stable'
Merge branch 'master' into puppet-4