==>> instances

Adding some more instances for `==>>`: a `Traverse` universally quantified over key (which will traverse more efficiently, and subsumes all previous `* -> *` instances), a union `Monoid`, an intersection `Semigroup` (tagged with `Conjunction`), and a `Bifoldable`.

Sound good, @gpampara?