Redmine#5342: test non-filebased repo; fix partial package names and upgrades

see https://cfengine.com/dev/issues/5342 https://cfengine.com/dev/issues/5245 https://cfengine.com/dev/issues/2986

Ready for review and merge

REQUIRES https://github.com/cfengine/masterfiles/pull/187

Summary:

* adds more tests
* allows versions like `[0-9].*` in `ComparePackageVersionsInternal` to fix an issue with Yum/RPM 
* check for wildcards in the package spec to be passed to the package manager and, if they were not intentional, skip the package.  The logic is complicated and commented in the code.
* passes all tests