Prior to this commit, when a user created a new provider, the
provider would be opened to the Details tab. The correct behavior
is to open to the Products & Repos tab, which is what the user would
see if they were to later open an existing provider.

When creating an item (e.g. provider, user, org, system...etc) in
2-pane, after the create the incorrect item is opened. Essentially,
the new item is added to the bottom of the list, but the first item
in the list is opened.
This issue is actually a regression related to a fix that went in
for endless scroll on 2pane.
In order to address this issue, there is now an append and prepend
for the 2-pane list. This will allow support for item creation
and endless scroll.

This commit addresses the 'undefined method `include?' for nil:NilClass'
error that was occuring on a manifest import that generated a 403 forbidden
from the CDN. It provides a standard failure message and places the
backtrace in the error notices optional details.
Currently, the controller does not have access to further details; however,
that may change very soon. When it does, we'll revisit this logic to see
if additional changes are needed.

…r currently syncing
when hitting promote, if some product in the changeset has a repo that is either currently syncing or has an error on its last sync, we will show a warning. The user can still continue or cancel, but we are at least warning the user.

In case that the task consist of more subtasks (usually product or provider
synchronization) we were facing a problem that we calculated the progress from
finished/unfinished files download reported by pulp but we didn't know the
total number of files at the beginning. So the total number of files was
changing every time a new sync task changed from pending to running.
Therefore we so something like this:
Progress: [##################################################] 100.0%
Progress: [ ] 1.1%
Progress: [ ] 0.5%
Progress: [ ] 0.7%
Progress: [ ] 1.4%
Progress: [# ] 3.3%
After this change the progress for tasks consisting from more subtasks is
calculated from this number of finished/unfinished tasks. For single repo
synchronization it stays the same. For product or provider synchronization the
progress bar won't be theoretically so accurate (the progress bar will grow the
same amount regardless small or large repo). But since we can't get the size of
repo before the synchronization started it's better. For more details the user
can to to UI (sync management).

Prior to this system fact types were set automatically in
the search server, so certain facts could be detected poorly
as dates. This resulted in some systems failing to index
properly due to their facts not being able to be interpreted
as dates.
By setting a dynamic template on the index,
everything under facts will be automatically set to the
string type and keyword analyzer.

This commit addresses a few small items:
1. fix the tab index for the product and repo subpanels
2. refactor the logic added in environment_new.js, to become part
of the panel.js and subpanel_new.js... enabling us to use that
same fantastic logic in products and repos
3. fix a couple of small i18n strings
4. update the Providers => Products and Repos tab to have all
products 'expanded'. (I.e. do not require user to click the
arrow to expand)

Even if Pulp reports the synchronization finished that doesn't mean that the
synchronization was successful. We check this explicitely and format error
message correctly in UI and CLI so that this get information gets to
user through notifications, cli status and logs.
We mark this synchronizations as failed.

data.
Attempting to upload a gpg key file with binary data would cause a nasty
postgres traceback since we store the gpg data as a text field. This
bug adds a custom validator to the model to check that the gpg key text
is UTF-8 encodable.

This bug was caused by pdf-writer used by Ruport library. It tries to guess correct column widths. It sometimes fails and then columns with zero width are not displayed. This can be prevented by setting fixed column width in options for pdf report.