ImportKey identifies an imported package by import path and source directory
(directory containing the file containing the import). In practice, the directory
may always be the same, or may not matter. Given an (import path, directory), an
importer must always return the same package (but given two different import paths,
an importer may still return the same package by mapping them to the same package
paths).