Fixed UnexpectedValueException

When adding custom roles which implement
Zend\Permissions\Rbac\RoleInterface, an UnexpectedValueException is
thrown due to missing RecursiveIterator implementation.

Fixed this exception by improving the hasChildren() implementation in
Zend\Permissions\Rbac\AbstractIterator
Fixed incorrect return annotation

The @return annotation for Zend\Permissions\Rbac\Rbac::addRole() is
incorrect. This method returns $this and not the rule instance.
[#4210] CS fix

- docblock can simply refer to "self"
Merge branch 'hotfix/4210' into develop

Forward port #4210