Refactor Policy#Role

Was looking at this method last night and it seemed the only thing that really mattered to the client user was the conditions. By using `#to_conditions`, if it's available, it makes this more extensible and and less tied to a specific type/subclass.

The big question though is whether we really care about `@roles` elements keeping their class. I don't see anything in the library that says so, but I may be missing something.