[BUGFIX] Context::hasRole() now checks roles recursively
Previously, hasRole() only considered the first level of roles of a
token. getRoles() instead always considered all roles, including those
on a lower level.
This patch fixes the behavior of hasRole() by checking for roles
recursively. As before, the "Everybody" role is a role even non-
authenticated and anonymous users have.
This also fixes <f:security.ifHasRole>, as this ViewHelper directly uses