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`.
Merge pull request #41 from alephcloud/master

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