content views - resolve issues with promotion, publish..etc

Observed that promoted content views were not being written
to the pulp file system (e.g. /var/lib/pulp/published). The
reasoning was that they had not been published. Unfortunately,
the solution wasn't as simple as perform a 'publish' on the
repositories.

While investigating adding support for publish, found that we
needed to change how we perform things such as associate a library
instance id with repositories, determine if a repository
has been cloned...etc.  Essentially, our existing logic
was no longer valid now that we can have traditional
content that is part of a 'default content view' as well
as content that is published to a content view through
a user-defined content view definition.

This commit addresses all of the little issues I encountered
while working to ensure that I could perform scenarios such as:
- promote traditional content (default view) from
  library->dev->test
- promote a content view from library->dev->test
- change a content view definition, refresh it and promote
  it from library->dev->test
etc.
content views - update to handle deletion of repo from a definition

This commit contains changes needed to refresh and promotion
to handle the case where a repo is removed from a view.

It also contains changes to 'clear' the content in the
target repos, if they already exist. This way we will
regenerate the content on refresh/promotion.
Merge pull request #1420 from bbuckingham/fork_content_views_composite

content views - resolve issues with promotion, publish..etc