This will allow RRSIG.Sign to use generic crypto.Signer implementations. This is a interface breaking change, even if the required changes are most likely just type asserions from crypto.PrivateKey to the underlying type or crypto.Signer.
The proposed vars names are a nono, because they break the API. Things left: document each RR and zscan_rr.go has some funcky if-then-elses.