support shared storage in orphan purge.

The orphan purge needs to be updated to support a newly introduced pattern to support units with shared storage.  In this context, this is NOT Amazon S3 or GridFS.  This simply means that there are units with a storage_path that is a link to the same (file|directory).  the directory structure looks like this:

-- content/
         | -- shared/
                   | <thing>/
                           | -- content/
                           | -- links/
                                   | --- linkA --> ../content
                                   | --- linkB --> ../content

When all of the links are gone, the link target (../content) can be cleaned up.

The ostree units use the shared storage model like this:

-- content/
         | -- shared/
                   | -- <remote_id>/
                                 | -- content/<big-ostree-repository>
                                 | -- links/
                                        | --- snapshotA ---> /var/lib/pulp/content/shared/<remote-id>/content/
                                        | --- snapshotB ---> /var/lib/pulp/content/shared/<remote-id>/content/

We need the orphan unit purge logic to support this as follows.  When storage_path points into pulp's content/shared/* it needs to:

    remove the link
    remove the link target (content) when there are no more links.