Pipeline Fixes & Tests
Found some issues with pipeline execution logic, and so I've fixed them and added tests to prevent this from happening again. The following use cases are now working:
echo foo | grep foo && echo found foo
echo foo | grep bar || echo did not find bar
echo test | grep test && echo found test | cat