DO NOT MERGE (yet ;)): content views - initial merge to master

This pull request contains the initial code for  the content views feature.  For more details on the feature, refer to : https://fedorahosted.org/katello/wiki/ContentViews.  This pull request does not include support for 100% of what is outlined in the wiki; however, we'd like to merge the feature to master and then begin generating smaller more manageable PRs to master as enhancements are made to it.

The feature is functional and does provide for end-to-end scenario usage.  We have also run through regression testing of scenarios not involving content views to make sure regressions are minimized (e.g. content promotion, client registration, client consuming content....etc)

The following is a summary of some of the things user's can do from the UI/CLI/API:
1. create content view definitions
2. publish and refresh content views based on those definitions
3. promote content views through environments, as well as delete views from environments
4. associate content views with activation keys
5. register clients to katello using a content view or using an activation key that specifies a content view
6. allow client systems to consume (e.g. yum install) content from a content view
7. ...etc.