Small refactoring, mostly related to design-related code review comments...

Small refactoring, mostly related to design-related code review comments.

  - no intermediary "client" anymore. Base class for interface definition, and
    UltraDNS implementation derived from that base class.
  - Removed "get_records_by_type" method, added "rtype" param to the "get_records" method instead.
  - Removed docstrings from UltraDNSClient class, because interface is defined in a base class.
You duplicate some logic in `UltraDNSClient` and `UltraDNSAuthentication`.   I would move all `UltraDNSAuthentication` logic to the `UltraDNSClient`