SetCursor
StackCursor
Cursor is no longer a separate type.

Map#cursor() and Vector#cursor() now return fully typed collections.
Update cursor docs
CDN
add isCursor and unCursor
Release 2.4.0
Flatten depth and behavioral differences.

`seq.flatten()` has changed in a couple ways:

 * Now accepts an optional `depth` argument to describe how deep it should flatten. By default it will flatten infinitely deeply. This is different from the previous behavior of always flattening shallowly. As a convenience, it also accepts boolean "shallow" (e.g., it converts booleans to numbers).

 * Now *only* flattens Sequence instances and not sequenceable values (which would include Array, string, anything with @@iterator). This is different from previous behavior of flattening anything that could be converted to sequence and not only instances of Sequence.

 * flatMap() and concat() behavior of have not changed, and still allow mapping to and concatting sequenceable values and not only Sequence instances. (Read: no changes here).
fix(IndexedSequence.reverse): offset indexes when accessing a reversed sequence
Add missing toStack method
Merge branch 'master' of github.com:briandipalma/immutable-js into briandipalma-master
Reverse factory useKeys instead of instanceof
Merge branch 'briandipalma-master'