Use Control.Monad.Catch.catch qualified for compatibility with base < 4.6

Hi, I just discovered that the new version `either-4.3` can't be installed with a version of `base` older than 4.6 because of a name clash for the function `catch`:

```
[1 of 2] Compiling Data.Either.Combinators ( src/Data/Either/Combinators.hs, dist/build/Data/Either/Combinators.o )
[2 of 2] Compiling Control.Monad.Trans.Either ( src/Control/Monad/Trans/Either.hs, dist/build/Control/Monad/Trans/Either.o )

src/Control/Monad/Trans/Either.hs:215:35:
    Ambiguous occurrence `catch'
    It could refer to either `Prelude.catch',
                             imported from `Prelude' at src/Control/Monad/Trans/Either.hs:24:8-33
                             (and originally defined in `System.IO.Error')
                          or `Control.Monad.Catch.catch',
                             imported from `Control.Monad.Catch' at src/Control/Monad/Trans/Either.hs:40:1-26
```
This affects only GHC 7.4.2 and older, `base-4.6.0.0` and newer have the export of `catch` removed from the `Prelude`.

I fixes this issue by a qualified use of `catch`, maybe you want to merge this change for improved compatibility.