create __str__() for AsyncJob

just to easy debuging
Simplify AsyncJob by inheriting from AsyncTask
make _task attribute of instance instead of attribute of class
since AsyncJob is instance of AsyncTask, there is no need for wait_for_async_job and we can use wait_for_async_task instead
job without task should not exists, this is error

katello-cli expect always some state

addressing:
2012-08-31 04:22:36,510 [ERROR][MainThread] error() @ base.py:181 - Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/katello/client/cli/base.py", line 191, in main
    ret_code = super(KatelloCLI, self).main(args, command_name, parent_usage)
  File "/usr/lib/python2.6/site-packages/katello/client/core/base.py", line 293, in main
    return subcommand.main(self.args[1:], self.args[0], self._get_usage_line(command_name, parent_usage))
  File "/usr/lib/python2.6/site-packages/katello/client/core/base.py", line 293, in main
    return subcommand.main(self.args[1:], self.args[0], self._get_usage_line(command_name, parent_usage))
  File "/usr/lib/python2.6/site-packages/katello/client/core/base.py", line 368, in main
    return self.run()
  File "/usr/lib/python2.6/site-packages/katello/client/core/system_group.py", line 463, in run
    run_spinner_in_bg(wait_for_async_job, [job])
  File "/usr/lib/python2.6/site-packages/katello/client/core/utils.py", line 263, in run_spinner_in_bg
    result = function(*arguments)
  File "/usr/lib/python2.6/site-packages/katello/client/core/utils.py", line 496, in wait_for_async_job
    while job.is_running():
  File "/usr/lib/python2.6/site-packages/katello/client/core/utils.py", line 458, in is_running
    return (len(filter(self._subtask_is_running, self._jobs)) > 0)
  File "/usr/lib/python2.6/site-packages/katello/client/core/utils.py", line 474, in _subtask_is_running
    return job['state'] not in ('finished', 'error', 'timed out', 'canceled', 'not_synced')
KeyError: 'state
760180,803548 - add Organization to Notice

803548 - Async success notifications pop up from syncs in other orgs
760180 - Notifications should note the appropriate Org for org-specific actions
show unread notices count in top left corner
844413 - Creating user fails if role is created with same name

- removed useless validation
- ensure that own role gets always unique name
workaround for bz 854263

This file is provided by
qpid-cpp-server-daemon on F16 + updates, F17 + updates
qpid-cpp-server on F16 Gold, F17 Gold

we are leaving out RHEL as there it is always in package qpid-cpp-server
linkback - make app prefix link helper
Merge pull request #583 from xsuchy/pull-req-bz854263-2

workaround for bz 854263
Merge pull request #569 from pitr-ch/bug/803548-notification_pop_up_in_other_organization

760180,803548 - add Organization to Notice
854573, 852167 - Fixes missing icons issue which also resolves an
alignment issue on the content search page.
Merge pull request #584 from thomasmckay/linkback

linkback - make app prefix link helper
Merge pull request #567 from xsuchy/pull-req-status2

852631 - katello-cli fails when system_group is empty
852631 - system group - update model to raise exception when no groups exist

This commit contains changes so that if the user invokes an action
(e.g. pkg install) on a system group that has no members, they will
receive an error message.

From the UI, this might look like:
  "Install of Packages 'xterm' scheduled for System Group 'group2'
  failed. Reason: System group is empty."

From the CLI, this might look like:
  katello> system_group packages --org myorg --name grp1 --install xterm
  System group is empty.
Merge pull request #587 from ehelms/bug-854573

854573, 852167 - Fixes missing icons issue which also resolves an
Merge pull request #582 from Pajk/844413

844413 - Creating user fails if role is created with same name
841300 - Zoom out on 2-Pane page causes rendering error

+ added inset shadow to the panel
Merge pull request #590 from bbuckingham/fork-852631

852631 - system group - update to raise exception when no groups exist
841121 - Long description while creating system group returns PG error

Added length validation to system group description