Decide on one approach of propagating errors and returning pipeline runs for failed runs

I think we should unify this across runtime and pipeline run implementation. Currently we have both returning a special value Result with check_success method which then rethrows an exception in runtime, and an attribute of pipeline run, and PipelineRunError exception, which also has an attribute of pipeline run. I think we should pick one or the other approach.

This could be part of the backwards incompatible release.

Edited by Mitar