"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
Make the KRE names represent the runtime itself instead of TFM
- Changed mono45 to Mono and removed bitness
- Renamed svr50 to CLR
- Renamed svrc50 to CoreCLR
- Changed x64 to amd64

#598
Renamed variables for clarity
Updated build.cmd to use new kvm
Make NullReport a public class
add add --native option to kpm pack which will crossgen all dependencies in the output
response to code review and a bunch of code cleanup
remove unused using (will be squashed later)
Resopnse to code reivew and fix the following

* NugetDependencyResolver now track which library a assembly is loaded from
* Remove restriction of single KRE. Now you can crossgen on top of multiple runtimes as long as there is no duplicate on a processor architecture