Fixing documentation, re-organising code, adding comments, making Travis PEP8 check more strict