Simplify role requires acyclic checking

This pull request makes detecting when insertion of a RoleRequires that would make the role graph contain cycles more robust, and causes it to spit out all of the paths through the role graph that would be made cyclic if the framework were to allow things to proceed.