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.