Add R.scanl

Found myself wanting this functionality recently. It's nice for building up a collection of intermediate values while reducing. Here's an example of where one could be applying an increasingly stringent set of filters to an ElasticSearch or MongoDB style query:
```javascript
> var location = {state: 'CA', city: 'San Francisco', zip: 94108};
> R.scanl(R.mixin, {}, [{state: trans.state}, {city: trans.city}, {zip: trans.zip}]);
<
[
  {},                                                     // no filter
  {"state": "CA"},                                        // just state
  {"state": "CA", "city": "San Francisco"},               // state and city
  {"state": "CA", "city": "San Francisco", "zip": 94108}  // state, city and zip
]

```
Inspired by Haskell [scanl](http://en.wikibooks.org/wiki/Haskell/List_processing#Scans)
I don't think we need to pass result there. The iterator function is meant to be called in the same way as the one passed to reduce.