fix inputEqual
add iterateeInputArbitrary
iteratee Input tests
remove Monoid[Input] and MonadPlus[Input]. because does not satisfy laws
fix ImmutableArray#++
fix treeLocEqual
improve TreeLocArbitrary
fix TreeLocTest
fix Zipper#foldLeft

previous version does not satisfy the Foldable law
override zipperInstance#foldMap. avoid stack overflow
enable Zipper traverse laws test
override ephemeralStreamInstance foldRight, foldMap
add infinite EphemeralStream foldRight, foldMap test
Merge pull request #529 from xuwei-k/Zipper-foldLeft

fix Zipper#foldLeft
Merge pull request #532 from xuwei-k/infinite-EphemeralStream-fold

override ephemeralStreamInstance foldRight, foldMap
remove code duplication
Tag.of combinators for improved inference when working with tags.
some improvements `TagOf`

* rename `TagOf#on` to `TagOf#apply`
* bind all `TagOf` objects. avoid unnecessary object allocation
Doc TagOf#onF, TagOf is a ~> after a fashion.
Hide TagOf constructor.