Reacting to Roslyn changes
Updating tests
Updating tests that were missed the first time
Added initial caching implementation
- This caches syntax trees and metadata references on disk
Added implementation for IsDifferent
- Design time host should only send back changed things
Added support for compiling out of process via the design time host
- If a port is specified on the command line option, the design time compiler
becomes the default. This will requests compiled projects via TCP instead
of doing it in process.
- Also split the cache out across multiple files as part of refactoring
Refactoring things in the runtime and design time host
- Split things into different files
- The DTH always compiles and keeps assembly bits in local state in each
  ApplicationContext
- Reuse the ApplicationContext for the runtime connection to DTH
- Query context ids before requesting compiled bits
- Flow errors and surface them properly
Made changes to design time host implementation
- Added ProjectChanged message type
- Moved GetCompiledAssembly and GetDiagnostics to the ApplicationContext
We still need to fix up message types to make
sending binary more efficient.
- Added comments detailing why GetHashCode wasn't implemented
Close all pending responses if there's an error in the read loop
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