enable crossgen of dependency packages
flag: --packages
Adding test adapter OM
Change output structure of "kpm pack"

- global.json and packages folder goes to approot
- Main project & project dependencies go to approot\src
- Extract static files from main project into public app folder
- Generate k.ini which contains APP_BASE
- Delete "--zippackages" option
Enrich default exclude patterns of project and use them for filtering
Change default public app folder name to "public"
Added TestAdapter to the src solution folder
We have console color!
Add unit test integration to design-time-host

This allows VS to initiate test discovery or execution for a project.
removing shim tracing, I suspect adding a dependency made this not needed.
Reacting to System.Collections versioning change
Reacting to System.Collections versioning change
Updated project file
Added package repository path lookup order
- Implement package repository lookup logic in kpm and runtime
- Share ResolveRootPath implementation
- Added packages parsing for global.json file
- packages flag overrides all lookup rules
- Always set packages location when doing a kpm pack
- Resolve the full packages path from global.json
Added support for KRE_PACKAGES_CACHE
- Cleaned up PackageRepository and made it lazy
- Remove extra constructor for NuGetDependencyResolver
- Made DefaultPackagePathResolver resolve based on name and version
- Made the rest of kpm pack use the DefaultPackagePathResolver for consistency
Fix root resolution
Don't read the nuspec until the very last minute
- Added package info which stores the package id and version and nuspec directory.
 This is used for version resolution so we don't need to evaluate the nuspecs
 for all versions of a package up front.
- FindCandidate now resolves the correct package info then returns the appropriate
 IPackage after it is resolved.
- Skip null versions
Updated the makefile.shade to handle new package locations
Restore null version support for now
Use mono or mono symlink if present

This will help in cases where KRE is installed on a machine to use a
custom build of mono that doesn’t interfere with the standard mono
release. That works by going into the KRE folder and creating a symlink
to exactly the mono executable that should be used to host k commands.
Reacting to System.Security.Cryptography.Encryption package rename