Fixes #5749: Prevent error when migrating existing marketing and engineering
Products due to STI inheritance column.
fixes #5757 - fixing puppet module upload url
Merge pull request #4101 from ehelms/fixes-5749

Fixes #5749: Prevent error when migrating existing marketing and enginee...
Merge pull request #4105 from jlsherrill/puppet-modules

fixes #5757 - fixing puppet module upload url
Merge pull request #4102 from parthaa/env-read

Fixes #5682 - Handle Lifecycle env read perms better
Fixes #5654 - Permissions for env promotion/remove

This commit contains code to handle environment promotion and deletion.
Basic Rules
To Promote/Remove you need
1) promote_or_remove_content_views from content views
2) promote_or_remove_content_views_to_environment from lifecycle environments.

Note: Remove of a content view is slightly different from "destroy".
Remove implies removal of content view versions which could entail
removal from environments.