Fixes #5986: Ensure tipsy error details populated on sync status page, BZ965230.

On the sync status page, if an error occurred during sync (e.g. using a URL
that doesn't point to a real repo) the tipsy with error details would not contain
the information until the page was reloaded.
fixes #6002 - updates subscription status color on webUI, BZ1019389
refs #5184 - fix couple of issues when deleting foreman hosts

This commit addresses a couple of issues that were observed with the
foreman host <-> katello content host integration, in the production
configuration.

1. Deleting the foreman host would result in a 404 to the user.
2. Unregistering a content host and visiting the foreman host would
   show an 410 error to the user.

The key issues that caused these were:
a. There were 2 bindings of the host extensions to the host.  This
   triggered the deletion of the content host twice.
b. The model relation for host and content_host did not have the
   proper 'inverse_of' definition, so it could lead to foreign key
   errors.
Fixes #6005 - speeding up content reindexing

Instead of indexing per repo, we can index all of each content
and it will be much faster.  Sample times with a content view with about
5 versions:

Old Reindex: 7m05s
New Reindex: 3m13s

the more content views and versions you have the greater the difference
Fixes #6023 - Fixed code to associate gpg key to a product

The gpg key find method was botched in the lookup. Fixed it with a where clause and an org check
Fixes #5860 - correctly error on validation failure

fixes #5860 - added test

fixes #5860 - really added test
Fixes #5968: Intercept candlepin request to get available releases

Intercept requests to GET /consumers/:id/available_releases and return
the system's available release versions as viewed by katello.

Added /api/available_releases to the root resource so that RHSM
can check to see if it is enabled on the server.

This API is only intended to be called by a registered consumer.
Fixes 5992 and 5993 - qpid dependencies
Fixes #5769: Adding autocomplete to package filters, BZ1079181.
Merge pull request #4190 from jlsherrill/index

Fixes #6005 - speeding up content reindexing
Fixes #5989 - Fixing puppet repo sync check BZ1102826

There's some places we call 'puppet?' on ContentViewPuppetEnvironments so we
get the following error in the publish code.

NoMethodError: undefined method `puppet?' for
/usr/local/rvm/gems/ruby-1.9.3-p448@foreman/gems/activemodel-3.2.18/lib/active_model/attribute_methods.rb:407:in
`method_missing'
/usr/local/rvm/gems/ruby-1.9.3-p448@foreman/gems/activerecord-3.2.18/lib/active_record/attribute_methods.rb:149:in
`method_missing'
/home/thomasmckay/code/katello/app/lib/actions/katello/repository/node_metadata_generate.rb:21:in
`block in plan'
Merge pull request #4188 from bbuckingham/issue-5184

refs #5184 - fix couple of issues when deleting foreman hosts
Merge pull request #4186 from cfouant/subscription-color

fixes #6002 - updates subscription status color on webUI, BZ1019389
Fixes #5163/BZ848564 - ensure limited host groups have >= 1 hosts.
fixes #6038 - removing content host event page
Fixes #6040, adding katello permissions to foreman "viewer" role.
Fixes 6041: Convert katello-debug to be an extension of foreman-debug

Forman debug now allows plugins to add there own debug extensions.
This patch converts the katello debug into such an extension. It also
adds the etc/pulp/server/plugins.conf.d/nodes/distributor directory
to the list of files which are collected. Finally, the spec file is updated
for packaging.
Merge pull request #4207 from bkearney/katello-debug

Fixes 6041: Convert katello-debug to be an extension of foreman-debug
Fixes #6021 - Remove route mapping to UsersController

GET /users/:login/owners was being mapped twice.

Remove route to UsersController and allow it to route
to the CandlepinProxiesController.
Merge pull request #4194 from jmontleon/update-deps-for-qpid

Fixes 5992 and 5993 - qpid dependencies