content views - fix permission on default_label action
content views - ui - do not allow deletion of definition w/ promoted views

This commit will disable the 'Remove' link in the UI and provide a tipsy
informing the user that they cannot delete a content view definition,
if the definition contains views that have been promoted to other environments.

This is to be consistent with the behavior we have today with
Providers/Products/Repositories, where the user should not be able
to delete them if the content has been promoted.  Instead, they should
first delete them from various environments using a deletion changeset.
content views - api - do not allow deletion of definition w/ promoted views
content_views - update has_promoted_views to perform single query

This change is so that when user performs definition.has_promoted_content?
a single sql query is performed.  Previously, multiple could be performed.

Thanks @pitr-ch and @daviddavis for the input on the initial PR.
content views - fix on test for definition deletion

When a definition is deleted, the content views that were generated
using it should also be deleted.  This is similar to deletion
of a provider->product->repo (e.g. if product deleted, repo should no
longer exist).
Merge pull request #1368 from bbuckingham/fork_content_views_deletion

content views - ui - do not allow deletion of definition w/ promoted views
Content views: added some system/key functionality
Content views: added CLI for systems with content views
Content views: some things I found preparing for the demo
Content views: added opts to the system register test
Content views: added in_environment scope to ContentView