PEP8, better whitespace usage, optimised imports, added new import exceptions

..., now uses logger and a requirements.txt for dependencies.