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)
While I agree that's better, we do the same thing in other places.  I wouldn't mind cleaning it up, especially as I tend to prefer single-assertion test cases.  But if you can bully the guy at the next desk to change it before we commit... :-)