Use new bitwise Int# primops in Data.Bits (re #8791)

The new primops (see also #7689) allow to optimize
`instance Bits Int` by allowing to operate directly on Int#
instead of having to convert to Word# and back to Int# again.

Authored-by: Chris Dueck <crdueck@uwaterloo.ca>
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
(cherry picked from commit 0fc4fb5477d3ca22a8b6894db5b1112b9badfdc4)
Fix typo in documentation of Data.Functor.($>)

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
(cherry picked from commit 599130f79009c97974ddde4707365afa7b433805)
Tweak Haddock markup in Control.Applicative

This (arguably) improves rendering with Haddock 2.14

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
(cherry picked from commit b3307dc871503ead93771b2096b819273cd129a6)
Minor fixes to Haddock markup

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
(cherry picked from commit 6f6f29b34574bc9ed49cc44f0e18596f829c75df)
Add `withMVarMasked` (re #8818)

Like `withMVar`, but the @IO@ action in the second argument is executed
with asynchronous exceptions masked. This completes the `MVar` API,
which already contained `modifyMVarMasked` and `modifyMVarMasked_`.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
(cherry picked from commit 2d5471cd3ee42406042a030424a1a83308a170fa)