* Uncouple SCH_COMPONENT::GetRef() from SCH_SHEET_PATH and use SCH_SHEET
instead.
* Uncouple SCH_COMPONENT::GetUnitSelection() from SCH_SHEET_PATH and use
SCH_SHEET instead.
* Fix all calls to GetRef() and GetUnitSelection() to pass a pointer to the
appropriate SCH_SHEET object instead of an SCH_SHEET_PATH object.
- Slightly change the info text in the dialog. Add a definition of exactly what it means to "rescue" a component.
- Reload the project libraries when a project is opened, even if kicad is already running and the same project is open (to be sure the lib cache is up to date).
- Set the Modified flag on cancel, because a change has indeed been made (choosing not to rescue is equivalent to updating the components)
* Components with multiple "converts" were rendered with all of them overlapping instead
of just one.
* Schematics missing a -cache.lib resulted in unnecessary renaming suggestions.
* The dialog title "Conflicts Checking" is inaccurate now (as we're checking for more than
just conflicts) and also somewhat awkward, unidiomatic GUI English; I renamed it to
"Project Rescue Helper".
* Add code to test if any of the components in the schematic cache have been changed
in the component libraries.
* Prompt user to accept or reject components when changes are found.
* If the user chooses to use the components in the cache, create a new library with the old
components and add it to the beginning of the component library list so the schematic will
not be changed.
* Create dialogs to handle user feedback and status.