Implementations of ITargetLocation may have an equals() implementation
that does not compare all their serialized attributes. In particular,
this is true for MavenTargetLocation, causing any check for redundancy
upon the 'Apply' button in the Target Platform Preferences Editor to
fail, causing each time:
- the .target file to be rewritten
- the Target Platform State to be re-evaluated
Instead, we compare along the serialized value of ITargetLocation, if
available, ignoring any particular order of target locations as well.