Ensure zero-length collections are sliced properly
Sequence.of Sequence.from
s/length/size to match ES6 collections
changing length to size can be a pain in the ass, so it is sticking around as a warning for a while
comment about v4
Add explicit KeyedSequence distinct from Sequence. Easier to follow and makes Set less of a special case
Avoid touching length in Vector constructor
Add SetSeq
Collection construction

This is a pretty serious API change: Collections and Sequences now have a common construction API which is a much closer mirror of Array and Map/Set ES6 construction methods.

All Sequence subclasses now have `Class()` `Class.from()` and for Indexed or Set Sequences, `Class.of()`.

This results in a few things:

* construction (in `from` or class constructor) now behaves equivalently for Sequences and Iterables.
* `Class(a,b,c)` is now `Class.of(a,b,c)`
* Subclasses no longer need to implement `from` or `of`, simply the constructor.

To ease the transition (i.e. to fail loudly), error message clarity has been added to `fromEntrySeq`
Update examples
Sequence predicates
replace isFlattenable with isSequence
Add LazySeq
Accept strings in Sequence.from
Generalize check for fromEntrySeq
Explicit Collection classes
get method to forcably convert to seq
Eager operations!
Fix collection.fromEntrySeq().entrySeq()
protect if fromJS is provided null