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)
_Mea culpa.  Mea maxima culpa_.  I copied some mocha test cases from somewhere when I first started to used it that were written that way, and then did the same thing when we started eweda, the predecessor of ramda.  I've hated the 'should's for ages, and have recently taken to removing them whenever I touch a test file.  It would probably be worth the time to go through and remove them all, but as I also would like to change to the `expect(val).toEqual(other)` style, it never seems worth it.