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 as close to 80 as 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.
Pyflakes cleanup

Follow the PEP-8 fixes with a round of pyflakes. This removes unused imports
(except in __init__.py), fixes a variable name that should have been a string, and guesses at the purpose of some unused variables.
Add missing class description lines

Document some of the more obscure classes. Rename KATCPDeviceClient to
_InformHookDeviceClient to make it both less generic and private to
the module.
Fix imports according to CAM Python Style Guide

The CAM guide suggests that "from x import y" should follow after all
"import x" statements, with the same breakdown into 3 (or 4) groups.
Remove test_no_timeout test

This test broke when katcp.client.threading was removed. It shouldn't have
depended on an internal import anyway. Chuck the whole test on Neilen's
suggestion as it does not make sense in the post-threading tornado world.
Merge pull request #39 from ska-sa/pep8

Major PEP-8 cleanup