Unordered equality

Now, when comparing for equality with `Immutable.is` if the first variable does not have defined ordering, then a different unordered equality metric is used.

This also adds that all Seq are ordered.

Small note: ordered equality checking only relies on iteration, so can be faster than unordered equality checking which uses get() or has() on each iteration, in the worst case, this could be O(N^2).