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
IMO, it is better for us to only ignore what is necessary (using absolute paths where possible) and expanding this list on an as-needed basis. It can be hard to track down certain errors when the file that is causing them is invisible to git.