Adding caching to kpm restore

use -r or --refresh argument to force refresh of cached data
during a restore
Using the same HttpClient for all requests to a source
Fix local caching for kpm

- Add "--no-cache" flag to control use of local cache
- Add feed pagination handler and cache all pages
Small changes to project loader
- Cache the loader properly (use loader object as cache key)
- Fix order of GetLibraryExport call so that it's it calls back
into the loaders before calling the compiler itself.
Remove unzipping of nuget packages from the runtime