Allow pipeline into anonymous functions

This allows the following forms of pipeline:

```elixir
1 |> &twice/1
1 |> twice(&1)
1 |> &twice(&1)
1 |> fn x -> twice(x) end
```

In particular it makes pipelining to functions without the subject at the front easier.