Add: overload | operator to mimic pipe in shell

Overload the pipe `|` operator to make the API more consistent with the shell syntax.

It allows you to do something like:

```python
pipeline = shell.p('find . -name "*.py"') | 'wc -l' | 'tail -n1'
```