Implement 'consequential changes' feature

Move rename-that-isn't-changing-the-name detection to the provider
Removed legacy files
Split logging out from data provider - this way it's both customizable and testable that a log entry was made.