Continuous integration

Set up Travis-CI to do continuous integration tests for the following:

- Install dependencies
- Lint the code with pep8 and pyflakes (using flake8)
- Check for cyclomatic complexity (using flake8)
- Run the existing unit tests (with nose)

This commit represents the point where the build is passing.