introducing katello-utils with katello-disconnected script

The katello-disconnected script communicates with pulp instance using REST
and OAuth to synchronize repositories exporting them into a directory
structure that can be imported into Katello later on. It is able to import a
manifest file retrieving all provided products and repositories from the Red
Hat CDN, creating those repositories in Pulp, initiating synchronization,
watching the progress of a sync, exporting the content into a directory and
refreshing already imported manifest.

More info about workflow and other in the man page.
Automatic commit of package [katello-utils] release [1.1.1-1].
fix for BZ 860702: show systems belonging to system groups and those not in any on 'Systems' screen
857576 - Package filter name can be edited by cli

Allow the name of package filters to be edited by katello command-line script.
857576 - Added update filter test
fix for BZ 857031: notifications are being shown now when a system gets added to/removed from a group
857576 - Added api filter update test
858360 - Making katello-upgrade START services after upgrade is complete
Merge pull request #758 from jsomara/858360

858360 - Making katello-upgrade START services after upgrade is complete
convert string to unicode

addressing:
  File "/usr/lib/python2.7/site-packages/katello/client/cli/base.py", line 197, in main
    ret_code = super(KatelloCLI, self).main(args, command_name, parent_usage)
  File "/usr/lib/python2.7/site-packages/katello/client/core/base.py", line 298, in main
    return subcommand.main(self.args[1:], self.args[0], self._get_usage_line(command_name, parent_usage))
  File "/usr/lib/python2.7/site-packages/katello/client/core/base.py", line 298, in main
    return subcommand.main(self.args[1:], self.args[0], self._get_usage_line(command_name, parent_usage))
  File "/usr/lib/python2.7/site-packages/katello/client/core/base.py", line 376, in main
    return self.run()
  File "/usr/lib/python2.7/site-packages/katello/client/core/organization.py", line 231, in run
    self.printer.print_items(updated_pool_info)
  File "/usr/lib/python2.7/site-packages/katello/client/utils/printer.py", line 384, in print_items
    self.__printer_strategy.print_items(self.get_header(), self.__filtered_columns(), items)
  File "/usr/lib/python2.7/site-packages/katello/client/utils/printer.py", line 207, in print_items
    column_widths = self._calc_column_widths(items, columns)
  File "/usr/lib/python2.7/site-packages/katello/client/utils/printer.py", line 302, in _calc_column_widths
    widths[column['attr_name']] = self._column_width(items, column)
  File "/usr/lib/python2.7/site-packages/katello/client/utils/printer.py", line 283, in _column_width
    width = unicode_len(column['name'])+1
  File "/usr/lib/python2.7/site-packages/katello/client/utils/printer.py", line 504, in unicode_len
    return sum(1+(unicodedata.east_asian_width(c) in "WF") for c in text)
  File "/usr/lib/python2.7/site-packages/katello/client/utils/printer.py", line 504, in <genexpr>
    return sum(1+(unicodedata.east_asian_width(c) in "WF") for c in text)
TypeError: must be unicode, not str
adding two requires and comps for katello-utils
Merge pull request #760 from xsuchy/pull-req-cli1

convert string to unicode
Merge pull request #752 from witlessbird/857031

fix for BZ 857031: notifications are being shown now when a system gets ...
Merge pull request #750 from witlessbird/860702

fix for BZ 860702: both: systems belonging to system groups and not are being shown now on 'Systems' screen
Merge pull request #749 from lzap/manifest_parsing

katello-disconnected tech preview
Merge pull request #745 from daviddavis/857576

857576 - Package filter name can be edited by cli
demote repo before promotion

addressing CLIsystem test:
----------------------------------------------
Test suite Basic environment cleanup
----------------------------------------------
repo delete                             [ FAILED ]
repo delete --product=fewups_product_UIGyrS13PjB5 --org=org_UIGyrS13PjB5 --name=repo_UIGyrS13PjB5
Repository cannot be deleted since it has already been promoted. Using a changeset, please delete the repository from existing environments before deleting it.
Merge pull request #761 from xsuchy/pull-req-demote

demote repo before promotion