Sketch KATResource API (and related classes) using ABCs

Extract and define the non-KAT specific parts of the katcorelib KATCP client API into this package. The generic KATCP implementation will also be moved here.

Plan is that the KAT-specific API will be elaborated in https://github.com/ska-sa/kattelmod to facilitate colaboration with SP and easing the implementation of dry-running. The implementation of KAT-specific clients will build on this base in katcorelib.

@ludwigschwardt 
I like this because you can write

reply, informs = ...

or you can say
rep = ...
and then use the attributes. Since it is a named tuple there is no overhead to exposing attributes.