fixes #6442 / BZ 1090643 - content view - add support for content view copy/clone

This commit contains the changes to support creating a new content view
as a copy of an existing view.  This is to bring back functionality that was
lost during the content view rework.  The copy operation will only copy
the 'structure' of the content view (e.g. repos, filters, puppet modules,
details) and it will not copy the published views, history or tasks.
Unfortunately, it is needed before before we can add the relations that need to be duplicated (e.g. puppet modules & filters/rules).

It was also required in the previous implementation.  For the old code, refer to:
https://github.com/Katello/katello/blob/KATELLO-1.4/app/models/content_view_definition.rb#L182