Completely overworked stream handling:
* Get rid of `CapturedStream` and `exit_with_failure`
* Rewrite parts of `test_cli` and `test_highlevel`
* Add `stdin`, `stdout` and `stderr` parameters to `ArgumentParser`