Multiple updates

1. Code is now flake8 compatible
2. Code is now pylint compatible except few warnings for some pylint disabled checks and FIXMes
3. Formatted all the strings to use format() for easier readability
4. Added docstrings for all methods
5. Removed unused variables
6. Removed some print statements
7. Named constants as per pylint standards
8. Updated README
I'm still not 100% on board. These errors are not preventing Travis from succeeding. And when a pylint error is ignored with a directive, it's easy to get complacent and fail to fix the issue (I'm speaking from sad personal experience. ;-).

When I see a pylint directive in code I think "oh, someone has a good reason for ignoring that," and when pylint emits a warning I think "oh, that's something that needs to be fixed." When I see loads of pylint directives in the code, as is done here, I think "oh, I don't even know what's good or bad. That's confusing."