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 included the assertion on line 66 to ensure that the change doesn't introduce a regression in the case of compositions which return functions. I should remove this assertion (or move it to its own test) if it's a source of confusion.