We no longer need to import linkonce_odr as linkonce_odr because
with weak symbol resolution we now promote the prevailing copy to
weak_odr, and therefore we are guaranteed to have an externally
available copy somewhere. We also no longer force import linkonce_odr
on reference, so the comment was wrong.
This change is theoretically necessary due to r294014 which changed
the importer to use the IRMover directly instead of the ModuleLinker.
The ModuleLinker had some magic to link in the rest of the comdat
including any values marked for link. This had other issues as we don't
generally want to import values not selected by the thin link, but it
would have protected against creating an incomplete comdat group. Since
with this change we will now always import as available_externally
(which are condidered declarations and dropped from any comdat), we
avoid this issue.
Note that other changes are required to the fact that we can no longer
import aliases that have a linkonce_odr aliasee, so some special casing
is removed and tests changed accordingly.