Major PEP-8 cleanup

After three years it is time for a round of PEP-8 fixes again... The following
were the main areas receiving attention:

- Line lengths were kept close to 80 where possible, especially in docstrings
  and comments, and line continuations were improved to assist in this
- Docstrings were standardised on the NumPy format and improved here and there
  (spelling, missing parameters, wrong parameters, copy-n-paste errors)
- Corrected blank lines between classes, module functions and methods
- Fixed some comparisons to None and indentation problems

The output of "pep8 --max-line-length=80 katcp/*.py | wc" dropped from 488
to 94 issues after this commit, which is good enough for now. The remaining
issues are really minor.

The code was also checked by pyflakes, mostly to remove unused imports
and fix a small bug in except clause. Added some docstrings to internal classes.

Reviewers (muhaha): @brickZA @martinslabber