Adding test to ensure empty roles results in an empty choice set in RolesFormType
Updating RoleProviderInterface so that it provides two methods, getAllRoles() and getReachableRolesForRole()
Fixing test assertions around RoleDecoratorInterface methods in RolesFormTypeTest and UserFormTypeTest
Updating RoleProviderInterface::getReachableRolesForRole() to accept an array of or a single RoleInterface instance
Updating logic on RolesFormType so that only roles that the currently logged in User can reach are editable, to prevent users granting roles that they don't have themselves
Updating UserFormTypeTest to use updated mocks for RoleProviderInterface, SecurityContextInterface
Updating ContainerRoleProvider so that it handles role strings as argument as well as RoleInterface instances