dynamic dns (dyndns) update client that tries to be extensible, re-usable and efficient on network resources