We were not setting forceWeakImport for file paths given by
-weak_library if we had already loaded the file. This diff fixes that
by having loadDylib return a cached DylibFile instance even if we have
already loaded that file.
We still avoid emitting multiple LC_LOAD_DYLIBs, but we achieve this by
making inputFiles a SetVector instead of relying on the loadedDylibs
cache.