Update PackageListing.by_pkgid_collectionid to use .first() instead of .one()

The advantage of .first() is that it does not throw any exception and
return None is no object matching is found.
If no package is found in the collection specified, raise an exception
Add unit-tests making sure we cannot orphan a package on a branch it does not have
Fix the situation where get_acl_package returns an empty list
Add unit-tests about unorphaning a package on a branch it does not have
Update api_package_unorphan so that it does not fail on the first error

This allows us to submit a bunch of packages and branches and it will
process them all and report what's good and what's wrong instead of
stopping at the first error and reporting what's wrong for that entry.
Adjust the unit-tests for the api_packages_unorphan to cover the changes well
If one thing goes right when unorphaning a package, consider it all went ok
Adjust the unit-test accordingly
Allow the orphan API to keep running even if one pkg/branch combination fails

This allows one to ask for a bunch of packages to be orphaned on a bunch
of branches and all the valid ones will be while the invalid ones will be
ignored (though reported).
Adjust the unit-tests for the /api/package/orphan endpoint
Simply the api_package_orphan and api_package_unorphan per @abadger's advice

Add some documentation as to why we store output=ok even if there are
errors and only store message if there is one
Update api_package_retire to behave like api_package_orphan

This means /api/package/retire will support call to retire a package in
branches that the package does not have.
Merge pull request #69 from fedora-infra/fix_api

Fix api