"kpm pack" identifies source files outside of project root and packs them

- Changed PathUtility.IsSubDirectory() to IsChildOfDirectory()
- Added unit tests for PathUtility.IsChildOfDirectory()
Make kpm support two kinds of local package folders

- KpmPackageFolder: repo\{id}\{version}\{id}.{version}.nupkg
- NuGetPackageFolder handles two kinds of layout:
    (1)repo\{id}.{version}\{id}.{version}.nupkg
    (2)repo\{id}.{version}.nupkg