Refactor build to not depend on roslyn directly
- Added interfaces IProjectBuilder and implementation
- Decoupled compiling to disk and package building
- Added builder as a concept to project.json's extensibility
Refactor services
- Changed loader to services.
- Project services include a loader, builder, metadata provider and
  a library export provider.
- Added RoslynLibraryExportProvider and ProjectLibraryExportProvider
- Removed ProjectBuilder.cs
Remove duplicate logic
- Made ApplicationHostContext which is a helper that has
 consistent logic for creating the right sequence of objects
 for a proper runtime environment.
- Use it from kpm build/pack, k run and the design time host
- Reimplemented kpm build --check with IProjectMetadataProvider