backport `OneAnd` and `OneOr` to 7.0.x

Based on commit 8bf3e4ab31.

Caveats:
* experimental; backported from a non-release version of 7.1.x
* affected by the Cojoin/Cobind conflation
* a new method on `Apply` was needed (`applyApplicative`), but adding methods
  on non-sealed traits is not supported; hence a private method on the
  companion object has been added
backport `==>>` (aka `Data.Map`) from 7.1.x

Based on commit 8bf3e4ab31.

Caveat: experimental; backported from a non-release version of 7.1.x
backport `\&/` (aka `These`)

Based on commit 8bf3e4ab31.

Caveats:
* experimental; backported from a non-release version of 7.1.x
* affected by the Cojoin/Cobind conflation