Add Testing with testthat and Travis CI

Having automated tests is an important part of any library, helping ensure that you don't accidentally break anything as you add new features, or rework existing ones. Hadley Wickham wrote [testthat](https://github.com/hadley/testthat), a small library to provide basic assertions about the functionality of code. The `tests/testthat/test-cat_function.R` file contains tests for both the TRUE and FALSE conditions of `cat_function`, along with a 3rd test for an unwritten function that if uncommented, will cause the tests to fail. 

Finally, a `.travis.yml` file has been added. [Travis CI](http://travis-ci.org) is a Continuous Integration tool that you can use in conjunction with Github to automatically run tests each time you submit code to a branch. It also will show a pass/fail on pull requests, letting you see if problems have been introduced. If this is merged in, the README should be updated to include new Travis CI information.