Fixed the cache key for the the ProjectLibraryExportProvider
- Use the name, target framework and configuration
Adding scripts section to project.json

Launched by kpm commands via shell command processor
PR #493 feedback
String.Join now has an overload taking IEnumerable<string>
Revert "Revert "Updated to handle roslyn changes""

This reverts commit 069dfb964a86ab505dd6df5e5495434072346b6c.
Make "--verbose" option work for "kpm restore"
Updated configurations node in project.json
- Configurations no longer support target frameworks
- Changed casing of debug/release to Debug and Release by default
Added ability to specify version of CoreCLR to use during build
* Change "configurations" to "frameworks" in test
* Don't pass in compilationOptions to Project.BuildTargetFrameworkNode
  since it's always null at the caller.
Updating configurations to frameworks token in ProjectFacts
Updating release Nuget.config
Updating dev Nuget.config
Updating Roslyn compilation to default to experimental LanguageVersion
Updating tests to reflect Experimental switch
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