Add `test_manifest_on` and `test_manifest`

The old methods `apply_manifest_on` and `apply_manifest` enforced return
codes and would raise errors under certain conditions instead of
returning the stdout/stderr/exit_code for the testing library (rspec,
etc) to validate. It also required explicit return codes for testing
against failures.

This pull request:
- changes the name of `apply_manifest_on` and `apply_manifest` methods to `test_manifest_on` and `apply_manifest` to reflect their behavior
- bugfixes the `:catch_failures` options argument and adds a
  `:expect_failures` argument.
- adds `apply_manifest_on` and `apply_manifest` the same as before, but
  without the return code enforcement

This change is backwards incompatible