use existing repository when indexing composite view repos
Similar to http://projects.theforeman.org/issues/21548 we can do this for composite repositories as well.
This enhances composite content view publish by not
actually copying units into the composite view archive
repos. We can only do that for Library repos that are
only represented once in a component view.
It also introduces two new terms for repos, links and targets.
Links have no content within the pulp repository, but have
metadata on the filesystem for them. Links copy metadata from
their targets, and copy indexed units from their targets.
This also adds a warning when publishing a composite view
if the composite has more than one component that includes
a particular repository, since publishing will be slower.
Exporting a composite content view version will not work in
this case since it relies on content actually being in these
repositories, so this modifies exporting to copy units over to it
if needed prior to exporting. This will make the exporting process
somewhat slower, but it is already very slow and happens less
frequently than publishing.