1116060 - Fix handling of failed package installs

https://bugzilla.redhat.com/show_bug.cgi?id=1116060

The main fixes here are in handlers/
- rpm.py
- rpmtools.py

and in extensions/admin/rpm_admin_consumer/
- package.py
- package_group.py

In the CLI command, the succeeded() method was updated for better handling of reported:
- exception
- mixed succeeded and failed package installs. 

In *rpmtools*, the transaction members are inspected after the transaction is processed.  the install, update and uninstall methods converted to return a dict which includes an additional *failed* list.  The *failed* list is inspected by the *rpm* handler to determine the overall status of the request.

I also replaced epydoc tags with ReST tags in docblocks.

I also fixed progress reporting for group install/uninstalls.

--------

As for the unit tests .. they are, like may in pulp, more integration tests than unit tests.  That said, I do not want to delay the 2.4.0 BETA build so just updating what is there as best I can for now.
Oh wow, more of the same. This whole area apparently needs to have code consolidation. But again, you're welcome to punt on it for now, since this isn't a new issue.