Refactoring of unreadeable methods

Split code into smaller methods, add some documentation and substitute
some common patterns with their ruby-like equivalent. Also add tests
for modified methods in SyncManagementHelper module

Add docs for jsroutes task so now it appers in rake -T
790064 - Manifest import error handling

When a manifest import error occures on product repositories creation
we store this infromation and enable a user to recreate repositories
later. This is handy when a CDN server is not reacheable at the moment
of importing.

A new link is added to Red Hat Repositories page which allows you to run
repository refresh action on demand. It also displays status based on
information stored at products of Red Hat. Status is updated only when
Katello runs import or repository refresh action.

When CDN content changes Katello has no information about it and status
still indicates OK state. However a cron which runs refresh periodically
solves this case.

We also display products without repositories and when a product has
no repository we explicitely inform user that there are no repositories
available for a given product. Since marketing products never have
repositories, it does not make sense to display then on Red Hat
repositories page.

Logger is used to gather information during the import process and
is attached as notification detail. User gets better idea of what
could went wrong.