Prepare to make into a gem.
Bit more infrastructure.
Adds docs.
Renamed to smart_diff