Add automated testing support

Rebase of the changes in #917 as well as adding documentation to the `.travis.yml` file. 

Some tests have been disabled for the moment, e.g. I was unable to get GTK working on the Travis system so the `cyclers` tests aren't working. See the tests in action at https://travis-ci.org/ScottWales/cylc

Also adds a pip `requirements.txt` file for simple installation of dependencies.