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 #5908 - make sure the dynflow on_init are set before the world being initialized
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 #6008 - Puppet environments synchronization capsule synchronization
Fixes #5759: Make search and filtering on Content View Filters work as intended.
fixes #6018 - fixes typo in Existing Items, BZ 1103283
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
Merge pull request #4195 from cfouant/typoContentHost

fixes #6018 - fixes typo in Existing Items, BZ 1103283
Merge pull request #4193 from ehelms/fixes-5759

Fixes #5759: Make search and filtering on Content View Filters work as i...
Fixes #6026 - Fixed repo list api call for no env case.

If you have a content view in library published few times and promoted a
few times

hammer repo list --organization-id=1 will return all repos across all
content views and environments. Meaning it will return repos with the
same name 10 or 20 times.

Ideal behaviour would be to say something along the lines of "If you
dont pass me an environment I am going to assume library/default content
view version."

This commit fixes this issue
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
Merge pull request #4197 from parthaa/hammer-repo-index

Fixes #6026 - Fixed repo list api call for no env case.
Fixes #5860 - correctly error on validation failure

fixes #5860 - added test

fixes #5860 - really added test
Merge pull request #4184 from iNecas/5908

Fixes #5908 - make sure the dynflow on_init are set before the world being initialized
Merge pull request #4192 from iNecas/capsule-puppet

Fixes #6008 - Puppet environments capsule synchronization
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