Added Cord isEmpty() and nonEmpty().
The foldMap{Left,Right}1 formulation of Foldable1.
Foldable#foldMap{Left,Right}1Opt
Reimplement core Foldable1 instances in terms of foldMap{Left,Right}1.
Replace the structure tests on fold{Left,Right}1 with foldMap1 consistency checks.

It is now a free theorem that the call structure of a Foldable1's left
fold looks like f(f(f(z(a), a), a), a) for some arbitrary depth,
i.e. is called left-associative.  Likewise, the left fold must be
called as f(a, f(a, f(a, z(a)))) for some arbitrary depth.

We formerly tested this property, but with foldMapLeft1 and
foldMapRight1 as primitives with the above free theorems, this is no
longer necessary.  So we just reformulate the (still valuable)
consistency checks from Foldable.
Remove Arbitrary Free.Return; it is unused.
Override foldMap{Left,Right}1Opt in Foldable1.
Syntax for foldMap{Left,Right}1{,Opt}.
override ephemeralStreamInstance#index

avoid infinite loop when the stream is infinite
add ephemeralStreamInstance#index test
override foldLeft, foldRight, foldMap, map
remove InsertionMap Functor instance. it is unnecessary because there is Traverse instance
fix insertionMapEqual
add InsertionMap test
add Kleisli.kleisliU
kleisliU example
Merge pull request #508 from japgolly/cord_emptiness

Added Cord isEmpty() and nonEmpty()
Merge pull request #512 from S11001001/topic/freer-foldable1

Replace Foldable1 primitives
Merge pull request #516 from xuwei-k/ephemeralStream-index

override ephemeralStreamInstance#index
Merge pull request #520 from xuwei-k/insertionMap

some improvements InsertionMap