Breaking Changes
- `verification_tokens` and `request_verification_tokens()` previously returned values of type `list` of `tuples`. These now return values of type `dict` where each entry's key is the verification DNS name (e.g. `_acme-challenege.example.com`) and the value is a list of verification token strings for that DNS name. This makes managing multiple verification tokens for a single domain easier. Most implementation will need to be adjusted to accommodate this change. For more info, refer to the [package documentation](https://jaredhendrickson13.github.io/simple_acme_dns/#simple_acme_dns.ACMEClient.request_verification_tokens) or the [example scripts](https://github.com/jaredhendrickson13/simple_acme_dns/blob/master/examples/example_basic.py#L27-L29)
- Attempts to reference the `csr`, `domains`, `verification_tokens`, or `email` attributes before they are set will now raise a friendly exception instead of allowing exceptions to be raised in the upstream `acme` or `cryptography` modules.
Fixes
- Addresses an issue where the ordering of ACME challenges would become out of order when multiple wildcard domains are being validated.
Changes
- Improves code documentation. Internal docstrings have been migrated to the Google docstring format to make the generated package documentation easier to read and understand.
- Adjusts scope of class members from private to protected.