Feature/travis ci

- Enable pep8, pylint, and pyflakes linting and analysis of source.
- Fix most errors
- Disable other errors

Fixing linting errors allows typos and other things to be automatically caught. Consistent formatting makes for easier and cleaner merging. Following automated coding advice can yield code that is easier for other people to understand and modify.