Add MINIMAL pragmas where appropriate

Adds the new `MINIMAL` pragma to:

* Data.Bifoldable
* Data.Bifunctor
* Data.Bitraversable
* Data.Semigroup.Bitraversable

The minimal definition has been taken from the documentation.

These pragmas are only enabled for GHC >= 7.8.1
Merge pull request #12 from ocharles/master

Add MINIMAL pragmas where appropriate