Sketch KATResource API (and related classes) using ABCs
Responses to @ludwigschwardt comments in PR34
Rename KATCPResourceContainer and KATCPResourceClient as per @ludwigschwardt comments in PR34
Refactor normalize_strategy_parameters
Rework docstrings and fix __init__

Rework docstrings to conform to the NumPy standard and limit them to
80-character line lengths to improve appearance in interactive use.
Rename KATCPSensor._init to the more standard KATCPSensor.__init__.
It is the base class constructor after all.
Remove interface cruft

Unify the interface for blocking and asynchronous KATCP requests. Remove
premature abstractions.
Merge pull request #34 from ska-sa/katcpresource-abc

Sketch KATResource API (and related classes) using ABCs.

This introduces some base classes that underlie the high-level user interfaces in katcorelib
and the fake versions in kattelmod.
Change SampleStrategy inform callback API to match Sensor observer.update() API
Merge pull request #37 from ska-sa/consistensize-sensor-strategy-callback-api

Change SampleStrategy inform callback API to match Sensor observer.update() API
Rename ValueTuple to ReadingTuple for consistency
Docstring fixup as per PR37
Replace all occurrences of value_tuple -> reading

Since these two terms refer to the same (timestamp, status, value) tuple,
pick the latest and slightly more descriptive one and make the lot consistent.
More value_tuple -> reading conversions
Fix socket exception handling on Mac OS X
Merge pull request #38 from ska-sa/Address-PR37-comments

Rename ValueTuple to Reading for consistency
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.