Apply & Bind laws

Per #585.

The `Apply` law turns out to match @ekmett's [semigroupoids Apply law](http://hackage.haskell.org/package/semigroupoids-4.0/docs/Data-Functor-Apply.html#g:2).  That's nice.

They likewise match for [semigroupoids Bind](http://hackage.haskell.org/package/semigroupoids-4.0/docs/Data-Functor-Bind.html#g:4).  That's nice too.

Some things may have to be revisited.  For example, `Applicative[[a]OneAnd[F]]` demands `ApplicativePlus[F]`, and the lawful relationship between `Applicative` and `Plus` so implied, whereas `Apply[[a]OneAnd[F]]` only asks for `Applicative[F]` and `Plus[F]` regardless of their relationship.  @xuwei-k, was this your motivation for this separation in #407?