(QENG-431) expanded and improved role support in beaker - reapply

This re-applies the reverted role support for beaker.
We should probably warn here because it may be confusing if those are expecting roles to be turned into methods and then find out that another method is being called instead (though hopefully no one is creating roles named "puppet" for example)