(QENG-1231) add onpass option to --preserve-hosts
* add spec tests similar to onfail spec tests
* add cleanup to rescue when --preserve-hosts onpass
* add help statement for onpass
remove non-capture from regex groups
Merge pull request #475 from er0ck/feature/master/QENG-1231-preserve_hosts_onpass

(QENG-1231) add onpass option to --preserve-hosts
(QENG-1257) do_scp_to raises IOError if file doesn't exist

Before, if the file doesn't exist, you would get a Result object back that had a nil exit_code.  Talking with some people, we decided that if you get a Result object back, it implies that the command was run, which doesn't happen here.  Now we raise an error, which is more indicative of an error in beaker setup, which is what's actually going on here.
(QENG-1257) updated yard doc for do_scp_to to make parameters consistently formatted