preserve currying in R.compose and R.pipe

```javascript
var f = R.pipe(R.concat, Number);
f.length;     // => 2
f('4', '2');  // => 42
f('4')('2');  // => Uncaught TypeError: number is not a function
```

My intuition suggested the last two expressions are equivalent.

I think it's a bigger issue that below produces different results

```
R.compose(R.concat, R.I)('foo', 'bar')
R.compose(R.concat, R.I)('foo')('bar')
```