(QENG-819) stderr collected for each testcase is incorrect...

...(as seen in beaker xml output)

- keep track of the last result generated through the ssh connection
- add the last stderr to the junit xml output
- clear the collected last result before each test case
(QENG-997) Add PE installer answer for jvm puppet.

Signed-off-by: Wayne <wayne@puppetlabs.com>
(QENG-989,990) Clean up open source install rough edges

This ensures that puppet and friends are available after gem installs on
Solaris and Debian. It also makes sure that the config directory and
hiera.yaml file are aways present. The former change fixes QENG-989 while
the latter fixes QENG-990).

[edit: to address pull request comments]
Merge pull request #374 from justinstoller/bug/master/QENG-989_gem_install_on_solaris

(QENG-989,990) Clean up open source install rough edges
Merge pull request #375 from waynr/feature/qeng-997-add-pe-installer-answer-for-jvm-puppet

(QENG-997) Add PE installer answer for jvm puppet.
Merge pull request #370 from anodelman/junit

(QENG-819) stderr collected for each testcase is incorrect...
Revert "Revert "(QENG-431) expanded and improved role support in beaker""
(QENG-431) (cleanup) expanded and improved role support in beaker

- cleanup in response to review comments
(QENG-431) (cleanup + split out filtering) expanded and improved role support in beaker

- split out filtering from applying the block to hosts
- block_on now determines if we have a filter or not
- run_block_on accepts both a set of hosts and an optional filter