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

- make is possible to use arbitrary role names for most beaker DSL APIs
(QENG-431) expanded and improved role support in beaker (part 2)

- add support for running commands against hosts by name
- add support for arbitrary role methods, like those for built in roles
    eg, on master, "echo hello"
        on myrole, "echo hello"
Merge pull request #237 from anodelman/role-repair

(QENG-431) expanded and improved role support in beaker
Revert "(QENG-431) expanded and improved role support in beaker"
Merge pull request #343 from puppetlabs/revert-237-role-repair

Revert "(QENG-431) expanded and improved role support in beaker"
Revert "Merge pull request #343 from puppetlabs/revert-237-role-repair"

This reverts commit 97dfa7f23fabbcbd6efca06a963df1b109a8bc67, reversing
changes made to ee2ce01f897af193ee7a7746665ea06dd01103b0.