Allow signer to override subject data in CSR.
Use Subject type in signer

The previous iteration used a CertificateRequest from the csr package
for overriding subject information in a certificate request. This
commit uses a new Subject type instead.