Fix `notFollowedBy` for parsers for which `<|>` backtracks

The Alternative instances for Parsec, Attoparsec, and ReadP 
behave all different:

Parsec: non-backtracking and non-commutative
Attoparsec: backtracking and  non-commutative
ReadP: backtracking and commutative

The current default implementation is correct only for a non-backtracking
and commutative behavior of `<|>`. Ironically, the Parsing instance for
Parsec provides its own implementation of notFollowedBy whereas
Attoparsec and ReadP use the default implementation which does
not behave correctly for these.

This patch provides implementations of `notFollowedBy` for Attoparsec 
and ReadP. Due to the lack of an explicit non-commutative choice by 
means of primitives from the Parsing class there is no default implementation
that would work for all parsing frameworks. Therefor the default
implementation is removed by this patch. Due to this removal `Show`
constraints are required for the state parameters of the `Parsing` instances 
for `StateT`, `WriteT`, and `RWST`.