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
Looking at this a bit more it feels like the ILocalPackageRepository is useless and the level of abstraction we should be switching on is the IPackageFeed. There should be 3 implementations of this (or 2 for simplicity):

NuGetPackageFolder : IPackageFeed -> Uses the LocalNuGetRepository implementation we already have (leave it as it is today). We can talk about splitting this out into 2 things later but for now it's fine.

KpmPackageFolder : IPackageFeed -> This is the new kpm layout that can probably use the runtime code verbatim