Fix API of example code

This briefly tripped me up.
Merge pull request #180 from blittle/master

Fix API of example code
Accept null/undefined as constructor for Collections

ES6 Map and Set allow null/undefined as the constructor argument and return empty Map/Set in those cases. They do not allow false.

Mirroring that behavior actually simplifies a few things as well.
Added explicitly any types for #184
facepalm
Fix incorrect 'this' in Cursor __iterator
Merge pull request #186 from tgriesser/cursor-context-fix

Fix incorrect 'this' in Cursor __iterator
fix OrderedMap#remove
Strict Iterable/Seq constructors.

This makes the Seq constructors (and by proxy, the Collection constructors) stricter. List and Set no longer accept Objects with discarded keys, as that is of dubious value and more often could represent a bug or programmer error. When a KeyedSeq is provided to List and Set, it should behave as an iterable and provide [K,V] tuples rather than discarding keys. This makes between-version operation smoother and makes Immutable's Iterator behave more similarly to generic Iterators.

The toXXX() methods have preserved their behavior.

The behavior of "array-like" values is stricter as well. Only Indexed (List) and Set iterables will consume any array-like as an array (such as `arguments` or String). Keyed iterables will always favor Object keys, which removes a pitfall where trying to construct a Map where "length" is a key would fail.

Finally, this improves `concat` to follow these rules based on the parent iterable type. Previously concatting an object to a List would cause the keys of the object to be treated as a list, which in the context of `concat`'s API of `concat(...valueOrArrays)` made concatting a single value dangerous affair. `concat` now expressly accepts `Iterables`, `Array` or singleton "value", and will not attempt to coerce any value other than Array into an Iterable.
Merge branch 'master' of github.com:facebook/immutable-js
Merge branch 'fix-OrderedMap-remove' of github.com:luigy/immutable-js into luigy-fix-OrderedMap-remove
Merge branch 'luigy-fix-OrderedMap-remove'
Merge pull request #185 from cybrown/noImplicitAny

Added explicitly any types for #184
Fixes to Record

Record's equals() was incorrectly returning false when falling through to default values. This was due to another issue where Records were not being properly iterated over, ignoring default values.

This also improves documentation to better express the changes made in v3 to Record and improves how Record names are determined.
Ensure Symbols are handled by mixin
Release 3.0.3
Fixes record.get() allowing non-allowed keys
Merge branch 'zertosh-record-get-fix'
fix documentation for List.remove
OrderedSet