Adds a new source requested in #239. This source allows a user to pull data from
a legacy system (Bind9, etc.) that does not have an API/existing provider via
AXFR Zone Transfer.
Implements the unsupported records skipping fix [proposed by ross](https://github.com/github/octodns/issues/176#issuecomment-359294960) in #176 for DNSimple and additionally for NS1.
Fixes #176 and also the NS1 version of it (`AttributeError: 'Ns1Provider' object has no attribute '_data_for_DNSKEY'`) that currently affect domains that have DNSSEC enabled.
This will ensure unique refs for different zones. Without them the ref isn't
enough to make sure we're looking at the right thing (notably when we're
gc'ing old health checks.) This also adds a bit more debugging around health
checks.
Dyn will still match them, even while they're empty before we've had a
chance to add the respons pools to them which is BAD and caused a
medium-size outage (thankfully not as bad as it could have been.) Ideally
we'd use publish=False and stage things, but that seems broken in the client
lib, there's no way to send publish=N. I also tried sending the
response_pool_ids as part of the create calls and response pool config if
one didn't exist, but neither of those routes worked :-(
Zone name must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes, and be 63 characters or less.
For instance, a reverse zone of IPv6 may violate the spec on the first character and the length of the zone name.
This change imports records that are marked as proxied so that they can be synced to other DNS providers as described in
[this support acticle](https://support.cloudflare.com/hc/en-us/articles/115000830351-How-to-configure-DNS-for-CNAME-partial-setup-when-managing-DNS-externally).
Records that use this functionality will be ignored by this provider and not be synced back to Cloudflare as we don't know the origin record values that would be required.
This change does not allow you to enable, disable or configure the CDN itself as that would require a lot of metadata to be handled by OctoDNS.
The intention of this change is to allow users to run a multi-DNS provider setup without sending any traffic to their origin directly.
See also github/octodns#45