no AvailablePackageList any more, it's just static funcs returning IEnumerable<>

that makes it easier to test AvailablePackageList modifications, by making them extension methods.
some work on finding a package from the list
wildcard * and ? searching for package names
some comments for AvailablePackageList