Make kpm support three kinds of local repositories

- FlatListLocalPackageRepository: repo\{id}.{version}.nupkg
- NuGetStyleLocalPackageRepository: repo\{id}.{version}\{id}.{version}.nupkg
- LayeredLocalPackageRepository: repo\{id}\{version}\{id}.{version}.nupkg
This _FunctionName thing isn't what we normally do (even though I know @lodejard wrote other code like that in kpm). Call it FindPackagesByIdCore