Add travis-ci configuration and fix Prelude.catch issues on ghc 7.6

The travis ci configuration is optional. It's just one file, `.travis.yml` and if you don't have travis-ci configured for your fork of the repo then nothing will happen. I can resubmit this pull request if you'd like me to remove it.

The important part of this pull request is the the use of qualified imports to find `catch`. This way as long as `Control.Exception` defines `catch` and `IOException` it will be used. Because the use of `catch` is always explicitly qualified there is no possibility to be ambiguous with the `Prelude`.

I've noticed that all the tests currently pass on my mac (ghc-7.6.2) and on the travis-ci server (ghc-7.4.x). I will try to build this at home on my windows machine. If it passes there, I would strongly recommend we push to hackage.

I will update this ticket with the status of my windows build.