Adding in keyring support in the DDNS module.

This pull request adds TSIG support to the DDNS module, it's rather crude right now (maybe you want it able to parse bind-style TSIG key files?) but it works.
Addresses #9606
I did however find another issue with this module. It stops reversing the IP in the PTR when it hits a zone it can update, this is not correct behaviour and adds broken PTR records. I'll fix this in a separate pull request.