Added env variable
Fixed typo
Make context queue case insensitive
Removed files from kproj!
Cache invalidation is hard
- Fixed the cache key for syntax trees
- Re-enabled the design time host JSON output tracing (it's super useful)
Fix the socket problem and mono
- Use ipv4 since we only care about the loop back adapter

#526
Cache assembly metadata properly
- Caching the metadata itself instead of the MetadataReference
Remove OPC and WindowsBase
- Removed use of OPC from the runtime now that mono supports
  System.IO.Compression
Simplified IsDifferent based on CR feedback
Add caching during kpm build
- Cache is shared across all configurations and target frameworks
- Caching across multiple things will quickly expose issues if we're
caching using cache keys that aren't unique enough.
Removed legacy configurations
Cached assembly neutral interfaces that come from assemblies
- This helps because the ANIs were changing for each compilation.
Now the design time host wont' send anything back to VS if nothing changed
(at least for ANIs coming from disk).

#534
Made some reliability changes to design time host
- Made the processing loop continue until there's no
more messages. Previously, posting subsequent messages
while the processing lock was held would just noop leaving the chance
for work to stall. Checking for changes after processing fixes that.
- Moved the assembly writing to another method
Always print stack traces when showing errors
- We can't tell where errors occured so always show the stack trace
since it's better than hiding it.

#539
Fix "kpm restore" with global.json

- Use the global.json as the single source of facts. No project.json is
  needed.
- Strictly restore the packages in global.json. No more no less.
- Restore exact version of a package when restoring with gloabl.json